ranio Ответов: 1

Как разбить большие данные на куски при использовании websocket в C#?


Я хочу разбить буфер больших данных на куски при использовании websocket в c#.

Я пытаюсь отправить через веб-сокет, но я не получаю все данные.
byte[] buffer = кодировка.GetBytes(stringtoSend); я хочу разделить его как куски на серверную сторону от клиента.

Что я уже пробовал:

Основной код выглядит следующим образом:
byte[] buffer = encoding.GetBytes(stringtoSend);

                   bool EndofMessageStatus = false;



                 await webSocket.SendAsync(new ArraySegment<byte>(buffer), WebSocketMessageType.Binary, EndofMessageStatus, CancellationToken.None);

1 Ответов

Рейтинг:
2

Jochen Arndt

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

Попробуйте вместо этого решить проблемы с получением.

Здесь я могу только догадываться:
Вы отправляете строку, и у вас есть проблемы с определением длины при получении. Затем отправьте сначала длину передаваемых данных, а затем полезную нагрузку. Таким образом, получатель знает, сколько данных он должен получить. Определение такового называется "протоколом" и является общим для сокет-коммуникаций.