Websockets至少在一台机器上工作

时间:2016-08-13 21:35:34

标签: javascript websocket glassfish java-websocket

我有一个使用websockets的应用程序。 Web服务器是glassfish 4.1.1,我们使用@ServerEndpoint来实现服务器端的websockets实现。

在所有计算机上,一切都运行正常,当时在某个客​​户的笔记本电脑上我们收到错误(他使用的是Google Chrome):

  

无法在websocket上执行'send':仍处于CONNECTING状态

在该计算机上,此错误永久显示,阻止了与websockets有关的所有功能。

我们没有为websockets设置特定端口。所以我假设他们使用默认的--80。其他页面成功加载(因此,我们的网站可以从该笔记本电脑访问)。

你有什么关键在哪里挖?为什么只有一台笔记本电脑 是否需要提供更多信息?

提前谢谢!

2 个答案:

答案 0 :(得分:4)

可能有很多事情:

  • 防火墙
  • 抗病毒
  • Chrome标记(如运行:chrome.exe --disable-web-sockets)
  • 病毒/恶意软件
  • Man-in-the-middle(MitM)

我建议安装Firefox。如果Firefox没有问题,那么Chrome肯定存在问题。

答案 1 :(得分:0)

我有同样的问题。检查您尝试从前端应用程序连接的端口是什么(您的套接字必须分配给端口)。我的WS服务器正在PORT 8080上侦听,某些用户的传出端口被阻止。我做了一个从80到8080的代理,现在所有用户都可以访问。