C#里实现简单的异步TCP服务器
在前面实现阻塞式的TCP服务器,比较容易理解,解决简单的问题够用了。
但是如果面对多个连接,多个客户端的处理,就不行了。
这时候就要采用异步的TCP服务器,或者多任务,多线程的服务器。
在这里采用了TcpListener来接收网络连接,采用TcpClient来与客户端进行通讯。
由于可以同时连接多个客户端,那么就需要定义一个对象来表示这个连接,这个对象就是
TCPClientState。
由于本类进行封装,外面又需要对数据进行处理,那么通过什么方式来通知外面呢?
在这里通过事件来进行触发。所以要使用这个类,就必须创建对应的事件响应函数,
比如连接、断开连接、接收数据、数据发送完成等等。
所以创建下面的事件响应代码:
//有连接进来
public void ClientConnected(object sender, EventArgs e)
{
AsyncEventArgs args = e as AsyncEventArgs;
System.Diagnostics.Debug.WriteLine("ClientConnected");
}
//有连接断开
public void ClientDisconnected(object sender, EventArgs e)
{
AsyncEventArgs args = e as AsyncEventArgs;
System.Diagnos
上一篇:计算机软件著作权评估
下一篇:最长回文子串