flex socket policy

时间:2023-12-11 21:03:32

@ flex的as3代码是具备使用origin tcp socket通信能力的。

@ 如果是flex builder本机调试,那么可以直连tcp的server。

@ 如果flex发布在webserver上,那么使用flex连接tcp server后,会自动发送给server一个policy请求。严格来说是两个,一个发往connect的端口,一个发网843端口,内容如下

1
<policy-file-request/>

@ 我的server是在ubuntu下,发现必须root才能bind843端口,所以以下的做法没使用843端口,个人认为用843应该更简单,不影响你server的逻辑。

@ 在server上收到该信息后,需要往回发如下内容

1
2
3
strcat(policy_response, "<cross-domain-policy>");                             
strcat(policy_response, "<allow-access-from domain=\"*\" to-ports=\"*\"/>");
strcat(policy_response, "</cross-domain-policy>");

@ flex收到后,会断开这条tcp连接,再开一条连接到server,之后就能够正常进行tcp通信了。