.net websocket: slowOutputAsync vs closeAsyncC#

Место общения программистов C#
Ответить
Anonymous
 .net websocket: slowOutputAsync vs closeAsync

Сообщение Anonymous »

У нас есть работающий сервис REST ASP.net Web API, который использует веб -питания на одном из методов нашего контроллера с использованием httpcontext.acceptwebsocketresponse (..). < /p>

обработчик сокета Код выглядит примерно так ... < /p>

public async Task SocketHandler(AspNetWebSocketContext context)
{
_webSocket = context.WebSocket;
...
while(!cts.IsCancellationRequested)
{
WebSocketReceiveResult result = _webSocket.ReceiveAsync(inputSegment, cts.Token).Result;
WebSocketState currentSocketState = _webSocket.State;

if (result.MessageType == WebSocketMessageType.Close ||
currentSocketState == WebSocketState.CloseReceived)
{
// Should I use .CloseAysnc() or .CloseOutputAsync()?
_webSocket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "client requested", cts.Token).Wait();
}

if (currentSocketState == WebSocketState.Open)
{
...
}
}
}
< /code>

Какова разница между .closeasync () и slowOutputAysNc ()? Я попробовал оба, и они оба, казалось, работали нормально, но должна быть какая -то разница. Они оба имеют очень похожие описания msdn ... < /p>

system.net.websockets.closeasync < /strong> - закрывает соединение WebSocket в виде асинхронной операции с использованием близкого рукоятки, определенного в разделе «Спецификация протокола WebSocket». /> system.net.websockets.closeOutputAsync - инициирует или завершает закрытие рукопожатия, определенное в разделе 7.

Подробнее здесь: https://stackoverflow.com/questions/267 ... closeasync
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»