我在一家公司工作,用ActionScript3创建一个巨大的策略游戏。
我是这里的一位开发人员,并且在套接字连接方面存在一些问题。 当我在内部flash播放器或firefox调试中使用它时,Socket工作正常,当我试图用谷歌浏览器打开项目时,它显示套接字错误#2048。
这是我在尝试建立套接字连接之前首先使用的代码。
Security.allowDomain("*");
Security.allowInsecureDomain("*");
Security.loadPolicyFile("mydomain.com/crossdomain.xml");
这是crossdomain.xml文件的内容。
<cross-domain-policy>
<cross-domain-policy>
<allow-access-from domain="*"/>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" to-ports="100-60000" secure="false"/>
</cross-domain-policy>
然后connect函数用于与服务器建立套接字连接。
instance.host = host;
instance.port = port;
socket = new Socket(host, port); //Initializing the socket
服务器是否存在任何问题或Chrome导致的问题? 如果你遇到同样的问题并找到了有用的东西,请回答这个问题。 我在搜索解决方案几天,但没有任何作用。
答案 0 :(得分:1)
如果您尝试从localhost启动此swf文件(这是调试时的常见情况),您可以将swf的路径添加到Flash播放器的受信任位置。
此程序编写为here。
也可以尝试使用这个更简单的跨域文件。
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>