Websockets至少在一台机器上工作

问题描述 投票:1回答:2

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

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

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

在该计算机上,此错误会永久显示,从而阻止涉及websockets的所有功能。

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

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

先感谢您!

javascript websocket glassfish java-websocket
2个回答
4
投票

可能是很多事情:

  • 火墙
  • 反病毒
  • Chrome标记(如运行:chrome.exe --disable-web-sockets)
  • 病毒/恶意软件
  • 中间人(MitM)

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.