c# TCP同步多客户端的程序,在tcplistener开始监听后,怎么启动接受客户端...

发布网友 发布时间:2025-01-14 19:42

我来回答

1个回答

热心网友 时间:2025-01-14 20:38

private void Listen设备ForClients()
{
LocalDatabase eventDb = new LocalDatabase();
string eventPreStr = "设备监听线程(" + Thread.CurrentThread.ManagedThreadId.ToString() + ')';
this.listener设备.Start(); eventDb.SaveStr(eventPreStr + "启动");
while (this.isMainRun == true)
{
//blocks until a client has connected to the server
TcpClient client = this.listener设备.AcceptTcpClient();//有连接接入,
//create a thread to handle communication with connected client
Thread clientThread = new Thread(new ParameterizedThreadStart(Handle设备Comm));//应答,并启动一个线程处理
//取得来源IP
eventDb.SaveStr(eventPreStr + "接收到来自" + ((System.Net.IPEndPoint)client.Client.RemoteEndPoint).Address.ToString() + "的连接,并启动线程ID:" + clientThread.ManagedThreadId.ToString());
clientThread.Start(client);
}
}

我的程序中也是这样写的,你应该注意到
TcpClient client = this.listener设备.AcceptTcpClient();//有连接接入,
这句话是有设备连接了,才执行,而不是被跳过去,也就是说,循环是在这里等待的。
你说的网络事件通知,其实可以自己做,只不过是意义不大,现在程序框架已经这么成熟了,自己写也没什么意义。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com