2011-10-19 36 views
1

我已經成功完成了我的websocket測試,但我想知道關於Websocket握手。在我的網絡客戶端我用下面的代碼開始的WebSocket通信websocket握手:開發人員需要爲此做任何事情?

var ws = new WebSocket("ws://example.com/foobar"); 
ws.onmessage = function(evt) { /* some code */ } 
ws.send("Hello World") 

在我的Web服務器(使用Java的),我用碼頭lib和實施服務器象下面這樣:

public class MyWebSocket implements WebSocket.OnTextMessage { 
    public void onOpen(Connection connection) 
    { 
    } 

    public void onMessage(byte frame, byte[] data,int offset, int length) 
    { 
    } 

    public void onMessage(String data) 
    { 
    } 

    public void onClose(int code, String message) 
    { 

    } 
} 

網絡套接字通信對我來說工作很好,我沒有做過什麼握手。它是如何工作的?

回答

0

如果您使用像Jetty這樣的庫,像握手這類重複的事情在幕後完成,所以您不必擔心這一點。這就是使用庫的想法 - 您可以直接編寫代碼而無需重新發明輪子。

如果您確實想要自己實現握手,您可能需要在沒有的庫上擺弄,並圍繞如何「勉強」地實現它。

對於Jetty,您可以查看握手代碼here,並且完成密鑰解析here