我可以无限期地运行我的C#程序吗



我的程序很简单,连接到Socket.IO服务器,发出一条消息,然后等待一条响应。我如何保持它运行以接收消息?它一连接就退出。这是我的第一个C#程序,它没有遵循教程,所以它可能有很多错误。

using System;
using System.Windows.Forms;
using System.Threading.Tasks;
using SocketIOClient;
namespace socketio
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Application.Run(new Form1());]
SocketIO client = new SocketIO("http://localhost:5000", new SocketIOOptions
{
EIO = 4
});
Connect();
async Task Connect()
{
client.ConnectAsync();
MessageBox.Show("Started");
client.OnConnected += async (socketSender, b) =>
{
await client.EmitAsync("data", new
{
deviceName = System.Environment.MachineName
});
};
client.On("popup", response =>
{
var obj = response.GetValue(0);
string title = obj.GetProperty("title").GetString();
string message = obj.GetProperty("message").GetString();
MessageBox.Show(message, title);
});
}
}
}
}





我注意到,您实现了一个异步方法async Task Connect((,并在不使用await的情况下调用了该方法。客户端上也缺少await。ConnectAsync((呼叫。既然你评论掉了Application.Run(newForm1(((调用后,程序在Connect调用之后退出。尝试在等待Connect((之后调用它呼叫。这样,程序会打开一个空窗口,并在您关闭该窗口时停止。

相关内容

最新更新