C# TCP 客户端异步数据接收方法解析
这三个 C# 方法是用于在 TCP 客户端中接收异步数据的。OnAnsyDataReceived() 方法检查是否存在已注册的异步接收事件处理程序,如果存在,则创建一个新的 EventArgs 实例,并将其传递给事件处理程序。TcpWorkerThread() 方法是一个后台线程方法,用于循环检查客户端套接字是否有可用数据。如果有可用数据,则调用 OnAnsyDataReceived() 方法来触发异步接收事件。WorkStart() 方法用于启动客户端的工作线程。它设置了工作标志,创建了一个新的线程,并启动该线程来执行 TcpWorkerThread() 方法。
private void OnAnsyDataReceived()
{
if (this.mAnsyReceiveEventHandler != null)
{
EventArgs iEventArgs = new EventArgs();
this.mAnsyReceiveEventHandler(this, iEventArgs);
}
}
private void TcpWorkerThread()
{
this.mWorkExitEvent.Reset();
while (this.mIsActive)
{
if ((this.mClientSocket != null) && (this.mClientSocket.Available > 0))
{
this.OnAnsyDataReceived();
}
Thread.Sleep(10);
}
this.mWorkExitEvent.Set();
}
public void WorkStart()
{
this.mWorkFlag = true;
this.mWorkThread = new Thread(new ThreadStart(this.TcpWorkerThread));
this.mWorkThread.Name = string.Format("TcpClient{0}", this.mName);
this.mWorkThread.Start();
}
原文地址: https://www.cveoy.top/t/topic/nW5E 著作权归作者所有。请勿转载和采集!