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 在某些机器上会失败?

为啥 Stackdriver 日志中会间歇性出现空行?

为啥使用openmp时会间歇性出现“fatal error C1001”错误?

为啥 Azure 会出现间歇性错误 503。服务不可用?

为啥“WITH”子句在 Informix 上会出现语法错误?

[flex] as3.0 实现基于air的简单浏览器