actionscript:连接到套接字服务器

时间:2010-09-17 16:14:46

标签: flex flash actionscript-3 security sockets

我正在使用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/>?提前谢谢!

1 个答案:

答案 0 :(得分:1)

这是教程如何解决 http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html

Flash Player会检查策略文件服务器(默认情况下为端口843),或者如果需要,检查您正在打开的套接字(对您而言,端口2222)。

另请阅读this