去年做的一个项目了,客户端用到了flash,上线测试后一切都正常了,现在突然不行了,同事说我的服务没有开,我登上服务器,看了一下socket端口正常啊,然后同事在看他的代码一直没动过,我就以为是他机器问题,后来我的机器也不可以,然后在用另一个同事的机器就可以,在看flash player版本就知道了。原来是adobe 公司升级 flash player,涉及到了安全问题,导致flash 无法正常使用socket。看它官方网可以知道,和查阅资料得知:
adobe update四月更新后flashplayer更新至了9.0.124.0,在此版本之前,如果socket服务器没有安全策略的话,flash应用仍可正常和服务器通讯!但从此版本后flashplayer会做两个检查:
1、首先检查服务器843端口是否有安全策略
2、如果843端口在3秒内无法响应,则连接目标端口
所以上述两部没有的话,则会连接失败。
所以如果想得最快的响应速度,则我们需要在服务器的843端口上建立服务
使用很简单,解压后只要运行即可
./socketpolicy.pl > /dev/null & (843端口上的服务)
此方案策略黙认是全部可通过,如有需则修改socketpolicy.pl文件即可
此外adobe官网上也有一个解决方案,不过步骤就复杂了许多,具体链接[url]http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html[/url]
adobe官方文档[url]http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_04.html[/url] 其中还涉及另外几处安全更新,如dns漏洞等,有兴趣的朋友可以看看。
本文转自Deidara 51CTO博客,原文链接:http://blog.51cto.com/deidara/96562,如需转载请自行联系原作者