AS3+PHP套接字服务器连接问题


AS3 + PHP Socket Server Connection Issues

我的问题与这里提出的问题有关-Flash套接字服务器只能在本地机器上工作

我的flash应用程序在本地机器上的本地apache服务器上运行很好,但当我尝试连接到在亚马逊服务器上运行的PHP套接字服务器时,它无法连接。我认为我的问题与跨域文件有关,但我找不到太多关于它的信息。

这是我的密码。

AS3:

var host:String = "x.x.x.x"; // substituted for actual IP of website
var port:uint = 9999;
Security.allowDomain("*"); 
Security.loadPolicyFile("http://www.example.com/crossdomain.xml"); // substituted for actual domain name
socket.connect(host, port);

PHP:

$ip = '0.0.0.0';
$port = 9999;

跨域:

<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
    <allow-access-from domain="*.example.com"/>
</cross-domain-policy>

如果我需要补充任何进一步的信息,请告诉我。

感谢

看看这个我的答案恼人的错误#2048:来自localhost的安全沙箱冲突,你需要在843端口或连接端口(9999)上设置套接字策略服务器,而不是http传递的xml。

UPD:要调试策略服务器,请执行以下操作:

  1. 通过以下命令检查服务器安装是否正确(在Windows上为linux、mac或cygwin):echo -ne '<policy-file-request/>'0' | nc -v host port

  2. 通过在mm.cfg文件中设置标志PolicyFileLog=1来打开flash播放器策略日志(确保您有flash播放器的调试版本),运行swf文件并读取策略日志,它具有用户友好的格式,在大多数情况下,您可以通过该日志来解决问题。