我遇到了客户端连接到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错误(400)错误的请求。但为什么? 我能做什么?我刚刚尝试了以下代码(来自用户的另一个问题的解决方案):
System.Net.WebRequest.DefaultWebProxy = null;
但这对我没用。
答案 0 :(得分:2)
我自己修正了这个错误。 这很简单。 socket.io版本1.0.x的握手与版本0.9.x中的握手不同。而SocketIO4Net仅适用于socket.io版本0.9.x.我降级到版本0.9.17,现在它完美地工作:)