我创建了一个Java&使用WebSockets的JavaScript应用程序。对于Java服务器,我使用以下库:https://github.com/TooTallNate/Java-WebSocket。
关于申请:
首先,会话以两条消息开头。第一个是从浏览器发送的,第二个是来自Java服务器的回复。之后,Java服务器以50 ms的间隔发送消息开始。消息非常大(每个大约500 KB)。
当我尝试从浏览器向服务器发回消息时,客户端只是停止接收消息。没有任何事情发生,甚至没有调用WebSockets API的onclose,onerror回调(在客户端和服务器的双方)。我在chrome dev工具中检查了网络,没有任何异常情况发生;我只是停止从服务器接收消息......
你能告诉我这个问题是什么吗?
答案 0 :(得分:2)
问题是因为服务器的输出流阻塞。
通常你可以通过在单独的线程中输出来修复它。
答案 1 :(得分:1)
我有类似的问题,几天前就修好了。 只需将来自服务器的流放在不同的线程中。这将解决所有问题。