ranio Ответов: 0

Почему я получаю Конец сообщения, отправляемого с клиентской стороны на сервер, как ложь через веб-сокет в ASP.NET с помощью C#?


Я получаю Конец сообщения, отправленного с клиентской стороны на сервер, как ложь через веб-сокет в asp.net с помощью c#. Я отправляю большие данные через веб-сокет. Для этого я добавляю байты в буфер во время получения сообщения.

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

Основной код выглядит следующим образом:
ArraySegment<Byte> buffer = new ArraySegment<byte>(new Byte[8192]);

                        //if (result1.ToString() == "EOF")
                        //    result.EndOfMessage = true;

                WebSocketReceiveResult result = null;

                using (var ms = new MemoryStream())
                {
                    do
                    {
                        result = await webSocket.ReceiveAsync(buffer, CancellationToken.None);

                        //var result1 = msg.Substring(msg.Length - 3);


                        ms.Write(buffer.Array, buffer.Offset, result.Count);

                    }

                    while (!result.EndOfMessage) ;

                    ms.Seek(0, SeekOrigin.Begin);

                    if (result.MessageType == WebSocketMessageType.Binary)
                    {
                        using (var reader = new StreamReader(ms, Encoding.UTF8))
                        {
                           // reader.ReadToEnd();
                            txtOutgoing.Text = reader.ReadToEnd();
                        }
                    }
                   // return;

Sajjid Atta

Привет, не могли бы вы уточнить эту часть "...конец отправки сообщения..." в вашем вопросе.

0 Ответов