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

时间:2013-07-26 20:45:16

标签: php actionscript-3

我的问题与此处提出的问题有关 - Flash socket server only works on local machine

我的Flash应用程序在本地计算机上的本地apache服务器上运行良好,但是当我尝试连接到在我的Amazon服务器上运行的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>

如果我需要添加更多信息,请与我们联系。

由于

1 个答案:

答案 0 :(得分:0)

请查看我的答案Annoying Error #2048: Security sandbox violation from 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播放器的debug version),运行swf文件并阅读在策略日志中,它具有用户友好的格式,您可以通过此日志找出问题。