2013-03-07 136 views
0

請求wensocket服務器上獲取的是:WebSocket的握手無法連接

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)** 

回答

0

你不應該用鍵來響應嗎? 嘗試在你的回覆中添加Sec-WebSocket-Accept:sha1(Sec-WebSocket-Key + magic string)

+0

你是對的我意識到我需要密鑰,但是我可以通過代碼找到它。代碼與新鮮的一個稍後 – Altanai 2013-05-24 08:45:22