我有一个基于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等)
答案 0 :(得分:2)
确认您已permessage-deflate
有效。
如果你这样做,那你就惹错了485469 (“permessage-deflate扩展导致Firefox / Chrome中的协议错误”)
禁用permessage-deflate
,或升级到Jetty 9.3.7.v20160115