转载请注明,来自:http://blog.csdn.net/skyman_2001

今天我在调试游戏的时候,发现一个有趣的现象,就是flash连接上服务器后,服务器关闭连接,flash会触发securityError事件,用google搜索了一下,找到了官方的这篇文章:http://helpx.adobe.com/flash/kb/flash-player-10-socket-connection.html,里面讲了这是Flash Player 10才改成这样的,摘录如下:

Issue

Adobe Flash Player 10 includes significant change to the way that socket timeout is handled, adding significant user control.

Connections that previously succeeded after a long delay (due to outages or network congestion) may now result in a securityError event with Flash Player 10.

Reason

In Flash Player 10, ActionScript Socket and XMLSocket objects, all securityError events will be sent after a predefined amount of time has elapsed since the call to connect(). The predetermined timeout is 20 seconds by default but can be specified by ActionScript developers using the new Socket.timeout and XMLSocket.timeout APIs. If the timeout elapses and no connection has been established, the connection attempt will be aborted and a securityError dispatched.

Note: This change affects SWF files of all versions played in Flash Player 10 and later. This security change can potentially affect any SWF file that uses the Socket or XMLSocket classes. This change affects all non-app content in Adobe AIR (however, AIR app content itself is unaffected).

Solution

Developers should be sure to account for the new error by listening for the SecurityErrorEvent.SECURITY_ERROR event from Socket and XMLSocket objects in their code. The best practice is to set explicit timeout for any socket content over which you have control.

Longer timeouts favor greater robustness under marginal network conditions at the expense of longer delays in discovering failures.
Shorter timeouts favor quicker discovery of failures at the expense of reduced robustness under marginal network conditions.

也就是Socket有个连接超时时间属性(timeout),指示建立连接时需等待的毫秒数,默认值是20秒。如果Socket已经连接上,但timeout时间到时发现连接已经断开了,就会触发securityError事件(例如服务器在timeout时间之内关闭连接,则timeout时间到时会触发securityError事件;但如果服务器是在timeout时间之外关闭连接,就不会触发securityError事件)。不过如果服务器监听端口根本就没打开,那么Flash Socket就连接不上服务器,这时会触发ioError事件。

另外,关于flash安全沙箱的知识,请参见官方权威文档《Flash Player 安全性》:http://help.adobe.com/zh_CN/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d23.html

关于Flash Player 10 socket connection timeout相关推荐

  1. P2P in Flash Player 10

    据说是player10中将支持p2p , 当我看到这个消息,是非常的激动的,当我看完下面的内容,觉的可能还要等一段时间了,我的理解是,P2P在player10中直接通过client端传输数据,还需要一 ...

  2. Adobe Flash player 10 提示:Error#2044:未处理的IOErrorEvent. text=Error#2036:加载未完成 的解决方法

    Adobe Flash player 10 提示:Error#2044:未处理的IOErrorEvent. text=Error#2036:加载未完成 的解决方法 参考文章: (1)Adobe Fla ...

  3. Adobe Flash Player 10新特性详解:支持GPU加速

    近日,Adobe终于发布了Flash Player 10正式版,完成了业界期待已久的升级,并与近期的Adobe CS4套装融为一体,这可能也是该软件史上最重要的一次更新. Adobe声称Flash P ...

  4. Adobe Flash Player 10 插件无法注册

    故障描述:浏览网页时Flash无法正常显示.安装Adobe Flash Player 10 插件,提示"无法注册"! 故障处理过程: 进入安全模式,运行文章下面"unin ...

  5. Adobe 正式发布 Flash Player 10 [version 10.0.12.36]

    Adobe Systems周三在发布了Adobe Flash Player 10软件, 版本号10.0.12.36,内置3D处理能力,并支持数种Flash特效. 下载: Windows( 1.8MB) ...

  6. Flash Player 10升级导致SWFUpload程序异常

    此前我分享了一些关于SWFUpload的东西,有一些朋友在网上跟我探讨他们在使用中遇到的问题,多数情况下都是他们对初始化时setting对象的属性没有了解清楚,配置错误甚至是遗漏造成了程序无法正常初始 ...

  7. Flex 3调试Flash Player 10完美解决

    FlexBuilder3.2默认是用Flash9来调试的,但随着Flash10的发布,很多的浏览器都已经升级到 Flash10,但FlexBuilder3.2还没有及时更新,导致每次调试Flex/Ai ...

  8. Adobe Flash Player 10.0.32.18

    Adobe Flash Player软件简介 Adobe Flash Player是Adobe发布的浏览器Flash支持补丁.随着网络速度与品质的提升,越来越多的网站开始使用Flash来表达网站的内容 ...

  9. Flash Player 10 中的RTMFP(实现P2P)

    [转载]http://bbs.soshow.org/thread-33767-1-1.html RTMFP是Adobe公司开发的一套新的通信协议,该协议可以让使用Adobe Flash Player的 ...

最新文章

  1. Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
  2. 组合搜索(combinatorial search)在算法求解中的应用
  3. 非常牛逼的SQL语句
  4. android linux网络连接,Android和Linux服务器之间的TCP连接
  5. vscode写java没有提示_VS Code报错Language Support for Java(TM)插件显示需要JDK11 写java代码没有提示...
  6. 前端 验证码隐藏怎么实现_Python爬虫教程:200行代码实现一个滑动验证码
  7. Leetcode 242. 有效的字母异位
  8. java 二分搜索获得大于目标数的第一位_Java后端架构师技术图谱,你都了解多少?...
  9. 微软邀请IT管理人员及开发人员参加用户体验在线调研
  10. Unsafe与CAS
  11. 下棋计算机是什么配置的啊,一个下棋人的电脑配置,请大家指教
  12. NVIDIA Maxine 姿势识别极简教程
  13. 30天自制操作系统——第二十四天增加命令行窗口
  14. PHP中smart原则,SMART原则的五大原则是什么
  15. 【洛谷】P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布(详细代码)
  16. Excel应用技巧:单元格文字的拆分与合并
  17. android 动画 最顶层_【尼康影像学院】使用SnapBridge连接照相机与智能手机(Android安卓系统)...
  18. 实时即未来,车联网项目之phoenix on hbase 即席查询【四】
  19. EduCoder-程序设计技术R(第四部分循环结构程序设计1)- 第1关:小球自由落体运动
  20. element 复杂表格渲染(1)

热门文章

  1. DigiCert SSL证书过期了怎么办
  2. 如何避免ssl证书过期?
  3. 合宙Luat | 电源设计——模块应用必看的2个要点
  4. 使用js将网页导出为图片并下载
  5. CDSS十年回望及未来展望
  6. 第一章 算法设计与分析基础知识
  7. ENDC优先选网流程介绍
  8. Microsoft Office-未响应
  9. 计算机论文写作提纲怎么写,计算机算法论文提纲 计算机算法论文大纲如何写...
  10. c# json 按照key顺序排序。。。