我正在运行基于nodejs的服务器,我想使用Flash作为接口。
在AS3中我写道:Security.loadPolicyFile("的XMLSocket://151.248.124.213:3843&#34);
因此应在此地址http://151.248.124.213:3843/
加载政策文件。
链接暂时不起作用。但这里是政策文件的内容:
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
<allow-access-from domain="151.248.124.213" to-ports="80"/>
</cross-domain-policy>
这是应用程序http://151.248.124.213/1.html
但是当我开始使用它时,它会向我发送消息:
<policy-file-request/>
AS3在同一IP:3000上与服务器通话。
Nodejs在VDS服务器上运行完美。当我从Flash Builder启动SWF时,一切正常。所以问题必须在策略文件中或AS3中尝试加载一个。
答案 0 :(得分:0)
我在策略文件服务器
中解决了此代码的问题var net = require('net');
var netserver = net.createServer(function(socket){
socket.addListener("error",function(err){
socket.end && socket.end() || socket.destroy && socket.destroy();
});
var xml = '<?xml version="1.0"?>\n<!DOCTYPE cross-domain-policy SYSTEM \n"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">\n<cross-domain-policy>\n';
xml += '<site-control permitted-cross-domain-policies="master-only"/>\n';
xml += '<allow-access-from domain="*" to-ports="*"/>\n';
xml += '</cross-domain-policy>\n';
if(socket && socket.readyState == 'open'){
socket.write(xml);
socket.end();
}
});
netserver.addListener("error",function(err){});
netserver.listen(3843, '0.0.0.0');
'0.0.0.0' - 这是您的IP或域
这就是你用来连接闪光灯的原因
Security.loadPolicyFile("xmlsocket://151.248.124.213:3843");
如果您想让我解释一些细节,请告诉我。