コード例 #1
0
  private HandshakeResponse createVersionZero(HandshakeRequest handshakeRequest) {
    String challenge =
        challengeCalculator.calculateVersion1Challenge(
            handshakeRequest.getFields().get("Sec-WebSocket-Key1"),
            handshakeRequest.getFields().get("Sec-WebSocket-Key2"),
            handshakeRequest.getRandomBits());

    String message =
        "HTTP/1.1 101 WebSocket Protocol Handshake"
            + LF
            + "Upgrade: WebSocket"
            + LF
            + "Connection: Upgrade"
            + LF
            + "Sec-WebSocket-Origin: "
            + handshakeRequest.getFields().get("Origin")
            + LF
            + "Sec-WebSocket-Location: ws://localhost:"
            + WebSocketServer.getPort()
            + handshakeRequest.getPath()
            + LF
            + "Sec-WebSocket-Protocol: sample"
            + LF
            + LF
            + challenge;

    return new HandshakeResponse(message);
  }