Websocket握手无法建立连接

Websocket握手无法建立连接,websocket,Websocket,在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

在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)**
**线程“main”java.io.IOException中出现异常:握手失败
在websocket4j.AbstractWebSocket。(AbstractWebSocket.java:123)
在websocket4j.server.WebSocket.(WebSocket.java:73)
位于websocket4j.server.WebServerSocket.accept(WebServerSocket.java:119)
位于websocket4j.examples.EchoServer.main(EchoServer.java:51)
原因:java.io.IOException:流结束
位于websocket4j.AbstractWebSocket.readBytes(AbstractWebSocket.java:230)
在websocket4j.server.WebSocket.handshake(WebSocket.java:203)
在websocket4j.AbstractWebSocket$HandshakeRunner.run(AbstractWebSocket.java:79)
位于java.util.concurrent.Executors$RunnableAdapter.call(未知源)
位于java.util.concurrent.FutureTask$Sync.innerRun(未知源)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.lang.Thread.run(未知源)**

你不应该用钥匙回应吗?
尝试在您的回复中添加Sec-WebSocket-Accept:sha1(Sec-WebSocket-Key+magic-string)

您是对的,我意识到我需要密钥,但我可以通过代码找到它。。后来我用新的代码替换了代码