Socket.IO flashsocket安全沙盒错误

Socket.IO flashsocket安全沙盒错误,socket.io,cross-domain-policy,flashsocket,Socket.io,Cross Domain Policy,Flashsocket,过去几天我一直在玩node.js和socket.io。在我的本地机器上一切正常(windows使用iss作为Web服务器),但是当上传到我的远程服务器(UbuntuBox)时,我会遇到安全错误 [trace] Warning: Failed to load policy file from http://localhost:8000/crossdomain.xml [trace] *** Security Sandbox Violation *** [trace] Connection to h

过去几天我一直在玩node.js和socket.io。在我的本地机器上一切正常(windows使用iss作为Web服务器),但是当上传到我的远程服务器(UbuntuBox)时,我会遇到安全错误

[trace] Warning: Failed to load policy file from http://localhost:8000/crossdomain.xml
[trace] *** Security Sandbox Violation ***
[trace] Connection to http://localhost:8000/socket.io/1/ halted - not permitted from http://****/virtualcinema/VirtualCinema.swf
[trace] Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://****/virtualcinema/VirtualCinema.swf cannot load data from http://localhost:8000/socket.io/1/.
它出错的AS3代码是:

Security.loadPolicyFile("xmlsocket://localhost:10843");
socket = new FlashSocket("localhost:8000");
策略文件在端口10843上正确送达,我可以在浏览器中的http://**:10843/处接收到策略文件。为什么它试图在端口8000上加载策略文件。该警告不会出现在我的本地版本上

socket.io代码:

socket = io.listen(8000);

socket.configure(function() 
{
    socket.set("transports", ["flashsocket"]);
    socket.set("log level", 2);

});
我很困惑,为什么在本地机器上测试时,却不能在远程机器上测试时,它能得到很好的解决。任何帮助都将不胜感激:)

我正在使用的crossdomain.xml:

<cross-domain-policy>
    <allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>

已修复。我将它从指向localhost改为指向我的服务器externalIP

我以前尝试过这个,但不幸的是服务器缓存了我的swf文件,我没有意识到它是固定的

Security.loadPolicyFile("xmlsocket://****.com:10843");
socket = new FlashSocket("****.com:8000");

问题在于,不是从中加载策略文件xmlsocket://localhost:10843,它将加载它,并从中返回“Welcome to socket.io”。因为这是我的服务器正在运行的端口。快速提问,您是使用库从as3与socket.io服务器通信,还是使用as3的socket/xmlsockets?