@ 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通信了。