1

Websocket テストを正常に完了しましたが、Websocket ハンドシェイクについて知りたいです。私のWebクライアントでは、以下のコードを使用してWebSocket通信を開始しました

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

私のWebサーバー(Javaを使用)では、Jetty 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)
    {

    }
}

Web ソケット通信は正常に機能していますが、ハンドシェイクについては何もしていません。それはどのように機能していますか?

4

1 に答える 1

0

Jetty のようなライブラリを使用すると、ハンドシェークなどの繰り返しの処理がバックグラウンドで行われるため、面倒をみる必要がなくなります。これがライブラリを使用するという考え方です。車輪を再発明することなく、簡単なコードを書くことができます。

ハンドシェークを自分で実装したい場合は、ライブラリなしでいじって、それを「かろうじて」実装する方法を試してみてください。

Jetty のハンドシェーク コードはこちらで確認でき、キーの解析はこちらで行われます。

于 2011-10-19T12:10:45.117 に答える