C# コードはローカル サーバー側で実行されていると書きました。
System.Net.Sockets.Socket server = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
server.Bind(new System.Net.IPEndPoint(System.Net.IPAddress.Any, 4502));
server.Listen(int.MaxValue);
while (true)
{
System.Net.Sockets.Socket client = server.Accept();
if (client.Connected)
client.Send(new byte[1]);
}
次に、ローカル Web ページの html ファイルに埋め込まれた swf ファイルを作成します—127.0.0.1/Socket.htm
public class WebSocket extends flash.display.Sprite
{
private var Socket:flash.net.Socket = new flash.net.Socket();
public function WebSocket()
{
flash.system.Security.allowDomain("*");
flash.system.Security.allowInsecureDomain("*");
flash.system.Security.loadPolicyFile("PolicyFile.xml");
this.Socket.addEventListener( flash.events.Event.CONNECT, Socket_Connect );
this.Socket.connect("127.0.0.1",4502);
}
private function Socket_Connect(event:Event):void
{
this.MyLabel.text= "The socket is now connected..." ;
}
}
「127.0.0.1/PolicyFile.xml」の内容は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
コードはエラーなしで実行されますが、CONNECT イベントは発生しません。
事前に助けてくれてありがとう!