私はWebSocketでNet3.3サーバーを持っていますhttps://github.com/netty/netty/tree/3.2/src/main/java/org/jboss/netty/example/http/websocketx/serverNetty 3.3でWebSocket(RFC 6455)を設定する方法は?
RFC 6455を実装しているクライアントがありますが、サーバーはデフォルトでメッセージをデコードできません。デバッグ中、WebSocket08FrameDecoderが使用されています(WebSocket13FrameDecoderの代わりに使用されています)。クライアントをdraft00にダウングレードすると、すべて正常に動作します。 Nettyを設定してRFC 6455メッセージをデコードするにはどうすればよいですか?
GET /websocket HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: 5a087
Host: 127.0.0.1
Origin: 127.0.0.1
、サーバー上のhandshakerがWebSocketServerHandshaker13
ですが、私はまだエラーを取得:
org.jboss.netty.handler.codec.frame.CorruptedFrameException: unmasked client to server frame
at org.jboss.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation(WebSocket08FrameDecoder.java:350)
at org.jboss.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.decode(WebSocket08FrameDecoder.java:138)
at org.jboss.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.decode(WebSocket08FrameDecoder.java:56)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:465)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:438)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:343)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:274)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:194)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)`
クライアントハンドシェイクパッケージとデバッグログを – Quiz
に追加します。クライアントのマスキングに問題があります。ご回答いただきありがとうございます。 – Quiz