triyul22 Ответов: 1

Сервер вернул код состояния "404", когда ожидался код состояния "101".


У меня есть 2 клиента в asp.net с разницей по url-адресу:
localhost:port/api/send
и
localhost:port/api/new

Я использую websocket и пытаюсь отправить сообщение, которое отправляет "send-client" (извините за повторяемость), но ловлю исключение
The server returned status code '404' when status code '101' was expected.
при попытке подключения к другому uri клиента. Вот мой код
using (var socket = new ClientWebSocket())
                {
                    var uri = new Uri("ws://localhost:49350/api/send");
                    var cts = new System.Threading.CancellationTokenSource();
                    await socket.ConnectAsync(uri, cts.Token);
                    if (socket.State == WebSocketState.Open)
                    {
                        ArraySegment<byte> bytesSend = new ArraySegment<byte>(Encoding.UTF8.GetBytes($"{message.Id}+{message.Text}+{message.SentTime}"));
                        await socket.SendAsync(bytesSend, WebSocketMessageType.Text, true, cts.Token);
                    }
                }


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

На самом деле я не знаю, в чем причина этого. Google тоже не помогает

1 Ответов

Рейтинг:
1

Garth J Lancaster

Не совсем понимаю, что вы имеете в виду.

Цитата:
при попытке подключения к другому uri клиента
но в любом случае, глядя на код, который у вас есть, я полагаю, что вы проверили, что сервер работает, и netstat -an | more показывает "что-то", прослушивающее порт 49350.

Если это так, то что - то на стороне сервера отрицает соединение из-за, возможно, аутентификации, или, возможно, клиент не включен в белый список-поэтому сервер возвращает 404, потому что "рукопожатие" не удается


triyul22

О, я просто вошел не в тот порт. Спасибо!