Клієнт власного WebSocket

Розбирає рукопостискання WebSocket і перевіряє його за RFC 6455: метод, версію, заголовки переходу, довжину ключа в 16 байтів і правильне значення sec-websocket-accept, обчислене з ключа. Кодує й розбирає кадри: текст, двійкові, закриття, пінг і понг, довжини до 64 бітів, маскування, коди закриття та причини, а також відхиляє службові кадри понад 125 байтів і ненульові зарезервовані біти. Показано шістнадцятковий вигляд кадрів.

Parses a WebSocket handshake and checks it against RFC 6455: method, version, upgrade headers, the 16-byte key length and the correct sec-websocket-accept value computed from the key. Encodes and decodes frames: text, binary, close, ping and pong, lengths up to 64 bits, masking, close codes and reasons, while rejecting control frames over 125 bytes and non-zero reserved bits. Frames are shown in hex.