Получение данных через сокет

Решил наконец добраться до сокетов c# и поставил себе задачу: полчение данных с сайта, который передает их с использованием сокета wss://socket.xx.io/socket.io/?EIO=3&transport=websocket

Request Headers
____________________________________________________ 
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: Upgrade
Host: socket.xx.io
Origin: https://xx.io
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: E5DOHHXz4ppfBv2zeDynyQ==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

Каким образом это лучше сделать? Пытался помучить ClientWebSocket ,но чувствую, что это в корне неверно.

ClientWebSocket WS = new ClientWebSocket();
await WS.ConnectAsync(new Uri("wss://socket.xx.io/socket.io/?EIO=3&transport=websocket"), CancellationToken.None);

ArraySegment<byte> arraySegment = new ArraySegment<byte>(Encoding.UTF8.GetBytes("12345"));
await WS.SendAsync(arraySegment, WebSocketMessageType.Text, true, CancellationToken.None);

ArraySegment<byte> bytesReceived = new ArraySegment<byte>(new byte[1024]);
WebSocketReceiveResult result = await WS.ReceiveAsync(bytesReceived, CancellationToken.None);
var response = Encoding.UTF8.GetString(bytesReceived.Array, 0, result.Count);

Ответы (0 шт):