C#里实现简单的异步TCP服务器
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#里实现简单的异步TCP服务器相关的知识,希望对你有一定的参考价值。
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
以上是关于C#里实现简单的异步TCP服务器的主要内容,如果未能解决你的问题,请参考以下文章
c#中tcp异步编程遇到异常问题,新手感觉很不得懂 希望大神能从浅显的角度帮我解答