Socket安全策略问题的解决

Flash Player安全策略问题和端口问题对于Socket(XMLSocket)的web开发一直都是很头痛的问题,经过昨天一天的研究,终于找到了解决方案了,我把解决方法在这里作一下简述!
    其实Flash帮助文件也做了说明:http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/system/Security.html#loadPolicyFile() 。就在调用socket.connect方式之间先进行:Security.loadPolicyFile("xmlsocket://localhost:110");来加载安全策略内容。Player将向服务端发送请求<policy-file-request/> ,并以 null 字节终止。而服务端也将返回以 null 字节终止的安全策略内容。
    安全策略文本内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd ">
<cross-domain-policy>
   <site-control permitted-cross-domain-policies="all"/>
   <allow-access-from domain="*" to-ports="*" />
</cross-domain-policy> 
在服务端就要作一下与AMF3的区别,根据检查请求中是否有"<policy-file-request/> ",然后对应返回安全策略文本内容,注意是返回内容必须是null 字节终止!

你可能感兴趣的:(xml,socket,Security,Flash,Adobe)