0

wensocket サーバーで取得する要求は次のとおりです。

Upgrade: websocket
Connection: Upgrade
Host: 10.1.5.20:5555
Origin: http://localhost:8080
Sec-WebSocket-Protocol: sip
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: T3jkd1s0pRceQbgdTLoaiQ==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame

ハンドシェイクのために返信しようとしている応答は次のとおりです。

HTTP/1.1 101 WebSocket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Origin: http://localhost:8080
Sec-WebSocket-Location: ws://10.1.5.20:5555/

しかし、私が受け取るエラーは次のとおりです。

**Exception in thread "main" java.io.IOException: Handshake failed
    at websocket4j.AbstractWebSocket.<init>(AbstractWebSocket.java:123)
    at websocket4j.server.WebSocket.<init>(WebSocket.java:73)
    at websocket4j.server.WebServerSocket.accept(WebServerSocket.java:119)
    at websocket4j.examples.EchoServer.main(EchoServer.java:51)
Caused by: java.io.IOException: End of stream
    at websocket4j.AbstractWebSocket.readBytes(AbstractWebSocket.java:230)
    at websocket4j.server.WebSocket.handshake(WebSocket.java:203)
    at websocket4j.AbstractWebSocket$HandshakeRunner.run(AbstractWebSocket.java:79)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)**
4

1 に答える 1

0

キーで応答するべきではありませんか?レスポンスに Sec-WebSocket-Accept: sha1(Sec-WebSocket-Key + magic string ) を追加してみてください

于 2013-03-22T09:22:38.130 に答える