Websockets 至少不能在一台机器上工作

Websockets not working on at least one machine

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

在所有计算机中,到目前为止一切正常,当我们在某个客户的一台笔记本电脑上出现错误时(他使用 Google Chrome):

failed to execute 'send' on websocket: Still in CONNECTING state

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

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

你有在哪里挖的钥匙吗?为什么只有一台笔记本电脑出现故障? 是否需要提供更多信息?

提前致谢!

可能有很多:

  • 防火墙
  • 杀毒
  • Chrome 标志(如 运行: chrome.exe --disable-web-sockets)
  • Virus/malware
  • 中间人 (MitM)

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

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