对于net模块,客户端flash的policy请求,可以写在connect事件里吗?
var net = require("net"),
net.createServer( function(socket) {
socket.on("connect", function(d){
socket.write("<cross-domain-policy><allow-access-from domain='*' to-ports='*' secure='false' /></cross-domain-policy>\0");
});
socket.on("data", function(str){
console.log("data: " +str);
socket.write(str);
});
}).listen(3000);;
2 回复
没这个必要。还是先验证收到的数据是不是<policy-file-request/>为好。 设置个超时也是必要的,以免大量空连接上来消耗资源。
验证完以后,这个socket就结束了,然后后续的新的发送真实数据的socket在connect的时候还是没有状态的,如果我要维护一个在线的socket列表,在on,connect 根本没办法判断哪个是发<policy-file-request/> 的socket,哪个是发真实数据的socket 如果用单独的843端口,会有防火墙之类的东西