我正在尝试使用c#控制台与服务器端的 socket.io 建立连接,并且正在使用Quobject.SocketIoClientDotNet。我不知道为什么每当程序运行时
var cSocket = IO。套接字(网络套接字);
它返回错误
"已添加具有相同键的项目"
Socket2("ws://eng.testsoc.com/socket.io/?md=" + myid + "&en=&id=1&rd=&EIO=3&transport=websocket&sid=" + sid);
public static void Socket2(string websocket)
{
try
{
var options = new IO.Options() { IgnoreServerCertificateValidation = true, AutoConnect = true, ForceNew = true };
var cSocket = IO.Socket(websocket); //Hit Error An item with the same key has already been added
cSocket.Connect();
cSocket.On(Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("success");
});
cSocket.On(Socket.EVENT_DISCONNECT, () =>
{
Console.WriteLine("Disconnected");
});
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
我的问题是为什么会返回此错误,并且我调用套接字的方式不正确
正如我所注意到的,这个库省略了标准的WebSocket URI,而不是
Socket soc = new Socket("ws://172.16.0.9:3000/socket.io/?EIO=4&transport=websocket");
我刚刚通过,它奏效了:
Socket soc = new Socket("http://172.16.0.9:3000");