为什么我在websocket上收到错误/加扰/乱码的短信?

时间:2016-03-05 09:49:37

标签: java websocket jetty java-websocket

我有一个基于Jetty的websocket服务器(v 9.3.6)。 有时我会收到一条混乱的短信,就像它从2条分开的短信中合并一样。 我从客户端发送到服务器的所有消息都是JSON格式。

例如,我有两条分开的消息:

{"a":"b","c":"d"}

{"e":"f","g":"h"}

有时(并非总是)我收到这样的内容:

"b","c":"d"}

"b""g":"h"},"c":"d"}

它是不完整的消息或2种不同的不完整消息的组合。

当JSON解析器开始抛出String解析错误时,我注意到了这个错误。

注意:我试过但无法在localhost上模拟这个。在生产服务器上,我有大约600-1k连接的客户端和大约100k +每天发送的消息,这个错误出现在发送消息总数的0.5-1%。

注意2:客户端是网络浏览器(Chrome,Firefox等)

1 个答案:

答案 0 :(得分:2)

确认您已permessage-deflate有效。

如果你这样做,那你就惹错了485469“permessage-deflate扩展导致Firefox / Chrome中的协议错误”

禁用permessage-deflate,或升级到Jetty 9.3.7.v20160115