我正在使用actionscript连接到我的套接字服务器,但我总是从actionscript发送<policy-file-request/>
,然后关闭连接。 actionscript中的代码是:
protected function connect_to_server_btn_clickHandler(event:MouseEvent):void
{
Security.loadPolicyFile("http://192.168.0.198/crossdomain.xml");
socket = new Socket();
socket.addEventListener(Event.CONNECT, onConnect);
socket.connect("192.168.0.198", 9999);
}
crossdomain.xml的内容:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
swf和它的包装器html全部放在http://192.168.0.198/bin-debug/下,crossdomain.xml文件由actionscript成功加载(通过数据包捕获工具)。
我想如果我提供了crossdomain.xml,我不应该得到<policy-file-request/>
?提前谢谢!
答案 0 :(得分:1)
这是教程如何解决 http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html
Flash Player会检查策略文件服务器(默认情况下为端口843),或者如果需要,检查您正在打开的套接字(对您而言,端口2222)。
另请阅读this。