我正试图在hornetq 2.2.5发行版中运行netty stomp websockets示例,但它不适用于Chrome最新版本。Chrome在javascript控制台中显示以下错误-
Error during WebSocket handshake: 'Sec-WebSocket-Accept' header is missing
在论坛上阅读似乎表明这与Netty本身有关。我知道chrome太快了,无法适应不断变化的websockets协议,所以它抱怨服务器没有返回头。带有hornetq发行版的Netty版本似乎是3.2.3。如果这只与Netty有关?这可以通过使用具有相同hornetq分布的Netty的更高版本来修复吗?
我认为HornetQ正在使用旧的netty websocket
包。为了支持chrome,HornetQ需要使用新的websocketx
包。
websocket
和websocketx
包都将在Netty v3.X中提供,以实现向后兼容性。有些人扩展了websocket
包,并编写了自己的代码来支持较新版本的websocket协议。
在Netty v4中,websocket
包已被丢弃。