2

いくつかの変更の後、これは私のクロムクライアントとJavaサーバーの間の変換です:

GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: localhost:4444
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: Gh/WYxZXrUNZdPc2+LQ/Tg==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame
Sent text to CLIENT_1
-------------Response to handshake------------
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: NmkE36ZEsC5baQaMjLPb5CxHwDM=

ハンドシェイクの応答は次のようになります。

public static String Key(String thekey) throws NoSuchAlgorithmException {
    String base64;

    thekey = thekey + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
    MessageDigest md = MessageDigest.getInstance("SHA-1");
    byte[] digest = md.digest(thekey.getBytes()); // Missing charset
    base64 = Base64.encodeBase64URLSafeString(digest);
    base64=base64.replace("_", "/");
    base64=base64.replace("-", "+");
    return new String(base64);
}
 Send("HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: " + Key(key) +"=\r\n\r\n");

その後、10 バイトのデータを送信すると、クライアントが切断されます。私に何ができる?前もって感謝します!スモレット。

4

0 に答える 0