Adobe Flex:为啥在某些浏览器上会出现间歇性 SecurityError 事件?
Posted
技术标签:
【中文标题】Adobe Flex:为啥在某些浏览器上会出现间歇性 SecurityError 事件?【英文标题】:Adobe Flex: Why do I get intermittent SecurityErrorEvents on some browsers?Adobe Flex:为什么在某些浏览器上会出现间歇性 SecurityError 事件? 【发布时间】:2010-01-23 11:23:01 【问题描述】:我们的 flex 应用程序通过 TCP 套接字连接与其原始服务器对话。这需要有问题的服务器允许,因此我们在主机上设置了socket policy server(源代码在pastie.org/791060)。
这在 Firefox、Safari、Windows 和 Mac OS X 的许多排列上都运行良好,但昨天我们发现 IE 7 在 Windows XP 上存在问题。在大约 50% 的情况下,在 socket.connect 上会引发 SecurityErrorEvent。尽管在连接之前调用了 Security.loadPolicyFile("xmlsocket://:843"),并且观察到套接字策略服务器将套接字策略数据传输到客户端(使用 tcpdump 检查)。该错误通常可以通过重新加载有问题的 Flash 应用程序来撤消,而重新启动 IE 会触发它的返回。
为什么我们会看到这种间歇性错误,我们能做些什么?
问候, 维尔尤特维克 Jutvik 解决方案
【问题讨论】:
Windows 防火墙有时会阻止非管理员用户进行传出连接吗? 50% 的情况是指错误在同一系统和用户帐户上是间歇性的,还是它影响了您调查过的大约 50% 的 Windows XP 系统? 【参考方案1】:我已将问题归结为错误的套接字策略服务器实现。似乎它在与 Flash 客户端的 TCP 对话中过早挂断(没有等待字符串),在某些情况下导致连接错误,尤其是 Windows XP 上的 IE 7。没想到从用户层面对TCP层面造成破坏这么容易……
Heath:感谢您抽出宝贵时间。我会记住你关于防火墙的假设,因为随着测试的进行,我肯定会在以后遇到它。
/维尔
【讨论】:
以上是关于Adobe Flex:为啥在某些浏览器上会出现间歇性 SecurityError 事件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 P/Invoke 调用 dll 时,为啥 LoadLibrary 在某些机器上会失败?
为啥使用openmp时会间歇性出现“fatal error C1001”错误?