Я пытаюсь добавить WebSocket в существующий код, который обрабатывает HTTP-запросы.Не используя IIS или ASP.NET, просто код C # с HttpListener.Когда клиент отправляет запрос на обновление, сервер бомбит:
System.Net.WebSockets.WebSocketException was unhandled by user code
ErrorCode=1229
HResult=-2147467259
Message=An error occurred when sending the WebSocket HTTP upgrade response during the AcceptWebSocketAsync operation. The HRESULT returned is '1229'
NativeErrorCode=1229
Source=System
StackTrace:
at System.Net.WebSockets.WebSocketHelpers.<AcceptWebSocketAsyncCore>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at mycode.<mymethod>d__46.MoveNext()
InnerException:
Код вызова:
HttpListenerContext context = listener.GetContext();
if (context.Request.IsWebSocketRequest)
{
HttpListenerWebSocketContext wsContext = await context.AcceptWebSocketAsync(null);
Я нахожу документацию MS по всему пространству имен WebSockets бесполезной без примеров кода,Я не знаю, что он пытается сказать мне здесь (кроме очевидного факта, что я не обрабатываю исключение - я хочу знать, почему существует исключение в первую очередь).
ЭтоWindows 10, .NET Framework 4.5.В документации я заметил места, в которых говорится, что WebSockets работает только с Windows 8 и 2012, но я предполагаю, что он должен работать и с 10.