Я написал клиентскую программу ActionScript, которая пытается подключиться к локальному серверу Java, который прослушивает порт 8787.
Код следующий:
</p>
<pre><code>import flash.display.*;
import flash.events.*;
import flash.net.Socket;
import flash.system.Security;
public class Main extends Sprite {
// Properties
private var socket:Socket;
// Constructor
public function Main() {
Security.loadPolicyFile("xmlsocket://localhost:8787");
socket = new Socket();
socket.addEventListener(Event.CONNECT, onConnectHandler);
socket.connect("192.168.0.3", 8787);
}
// Methods
private function onConnectHandler(event:Event):void {
trace("The socket is now connected...");
var myspr:Sprite = new Sprite();
myspr.graphics.beginFill(0x000000);
myspr.graphics.drawCircle(50, 50, 60);
myspr.graphics.endFill();
addChild(myspr);
}
}
Но в IDE Flash CS4 я получаю следующее сообщение:
Error #2044: Unhandled IOErrorEvent:. text=Error #2031: Socket Error.
at Main()
Когда я бросаю SWF в Firefox, я получаю:
SecurityError: Error #2010: Local-with-filesystem SWF files are not permitted to use sockets.
at flash.net::Socket/internalConnect()
at flash.net::Socket/connect()
at Main()
Примечание: вместо "192.168.0.3" у меня также есть тест 127.0.0.1 и локальный хост без успеха.