Websocket连接丢弃(不正确)检测防火墙后面

时间:2014-08-20 20:46:11

标签: javascript https websocket firewall websync

我在fm.websync面临一个非常奇怪的问题,在Cyber​​roam连接之后。

此库连接到该频道的websockets和onRecieve处理程序,从服务器接收消息。

在任何常规网络上,websocket连接(HTTP101请求)仍然存在,我能够接收消息。

在防火墙后面,javascript代码到达频道订阅的onSuccess处理程序,没有收到任何消息。在检查chrome浏览器选项卡时,我发现websocket连接请求已达到完成状态(而不是永远处于挂起状态)。

我意识到这是防火墙的一些问题,这个question解决了它,但我想知道是否有任何方法以编程方式确定此状态。基本上,如果websocket运行不正常,请切换到http轮询。

我能想到的一个解决方案是保留一个全局标志,并在onRecieve处理程序中将其设置为true。并且在通道订阅之前初始化超时功能(2-3s)以验证flag是否为真,否则回退。我期待着一种更整洁,时间独立(滞后独立)的方法。

0 个答案:

没有答案