рукопожатие websocket: разработчик должен что-нибудь сделать для этого? - PullRequest
1 голос
/ 19 октября 2011

Я успешно завершил тестирование websocket, но я хочу знать о рукопожатии Websocket.В своем веб-клиенте я использовал приведенный ниже код для запуска связи через веб-сокет

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

На своем веб-сервере (на 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)
    {

    }
}

Связь через веб-сокет работает нормально, я ничего не сделал для рукопожатия.Как это работает?

1 Ответ

0 голосов
/ 19 октября 2011

Если вы используете библиотеку, такую ​​как Jetty, такие повторяющиеся вещи, как рукопожатие, выполняются за кулисами, так что вам не нужно об этом заботиться. В этом и заключается идея использования библиотек - вы можете написать простой код без необходимости заново изобретать колесо.

Если вы хотите реализовать рукопожатие самостоятельно, возможно, вы захотите поиграться с без библиотеки и поэкспериментировать с тем, как ее реализовать "едва".

Для Jetty вы можете просмотреть код подтверждения здесь , и анализ ключа выполнен здесь .

...