【发布时间】:2020-11-14 23:56:09
【问题描述】:
我目前正在尝试使用带有 C# 的 Quobject.SocketIoClientDotNet.Client 连接到网站的 websocket,但它似乎不起作用,我设法让 JS 中的等效代码工作,但我需要它在 C# 中工作同样,我完全不知道我做错了什么。
class Program
{
static void Main(string[] args)
{
var options = new IO.Options();
options.Path = "/s";
options.Transports = ImmutableList.Create<string>("websocket");
options.Secure = true;
options.ReconnectionDelay = 5000;
options.Reconnection = true;
options.Cookies.Add("do_not_share_this_with_anyone_not_even_staff", "cookie");
options.Cookies.Add("PHPSESSID", "cookie");
options.ExtraHeaders.Add("User-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3945.88 Safari/537.36");
var socket = IO.Socket(new Uri("wss://roulette.csgoempire.com/notifications"), options);
socket.Connect();
socket.On(Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("Connected to empire.");
});
socket.On(Socket.EVENT_DISCONNECT, () =>
{
Console.WriteLine("Disconnected from empire.");
});
socket.On(Socket.EVENT_ERROR, (err) =>
{
Console.WriteLine("Event Error");
});
socket.On(Socket.EVENT_CONNECT_ERROR, (err) =>
{
Console.WriteLine("Connect Error");
});
}
}
代码什么都不做,它运行,并立即以代码 0 结束。(我希望它至少写下“连接到帝国”)。
谢谢你,对不起我的无知/:
【问题讨论】:
-
尝试在最后添加一些东西以防止您的应用停止。喜欢
Console.ReradLine()