Ошибка рукопожатия SocketIO4Net
У меня проблема с подключением клиента к серверу socket.io. У меня есть следующий код:
private Client _Client;
private void Initialize(string websocket)
{
try
{
this._Client = new Client(websocket);
this._Client.Connect();
if (!this._Client.IsConnected) throw new Exception("Connection to websocket wasn't successfully: " + this._Client.HandShake.ErrorMessage);
}
catch (Exception ex)
{
Logging.Write("Fehler bei der SocketIO-Connection: " + ex.Message);
Logging.WriteLine("incomplete!", ConsoleColor.Red);
return;
}
Logging.WriteLine("completed!", ConsoleColor.Green);
}
Я использую websocket-uri
http://127.0.0.1:5116/
Когда я открываю этот адрес в браузере, он показывает мне правильный socket.io socketserver.
При подключении к этому серверу socket.io я получаю следующую ошибку:
Error getting handsake from Socket.IO host instance:
Der Remoteserver hat einen Fehler zurückgegeben: (400) Ungültige Anforderung.
Так что это неверный запрос http error (400). Но почему? Что я могу сделать? Я только что попробовал следующий код (решение от пользователя из другого вопроса):
System.Net.WebRequest.DefaultWebProxy = null;
Но это не сработало для меня.
1 ответ
Решение
Я исправил эту ошибку самостоятельно. Это было очень просто. Рукопожатие socket.io версии 1.0.x отличается от версии 0.9.x. И SocketIO4Net работает только с socket.io версии 0.9.x. Я опустился до версии 0.9.17 и теперь работает отлично:)