AS3 specials

 

1.flash.net.Socket/XMLSocket

Security.loadPolicyFile(((("xmlsocket://" + domain) + ":") + port));

发送的请求: <policy-file-request/>\0 

注意响应的crossdomain.xml:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>

<cross-domain-policy>

<site-control permitted-cross-domain-policies=\"all\" />

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

<allow-http-request-headers-from domain=\"*\" headers=\"*\"/>

</cross-domain-policy>\0 

http: Security.loadPolicyFile("http://www.domain.com/crossdomain.xml")

注意: XMLSocket并非传输的一定是xml document.  记得 new XML(event.data),还有\r\0 结尾.

XMLSocket.send(object to string+\0) .

 

2.ExternalInterface.available 判断是必要的,在浏览器环境 or 在flashplayer环境.

 

3.ByteArray.bytesAvailable,Socket.bytesAvailable,如果read方法要读取的字节数超过bytesAvailable,
那么Error #2030 .在Socket(not XMLSocket) data handle的时候由于网络,传输的数据量多等原因很容易出现这种情况.这就有可能造成数据在传输上产生碎片片段,比如一个完整的消息有可能会触发多次 socket data handle Event.相比而言,XMLSocket更易用.

你可能感兴趣的:(xml,socket,浏览器,Security,Flash)