C#里实现简单的异步TCP服务器
admin
2024-03-04 03:23:41
0

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

相关内容

热门资讯

V观财报|锦棉种业未按规定履行...   中新经纬9月16日电 据新疆证监局网站16日消息,新疆证监局对新疆锦棉种业科技股份有限公司(下称...
10天9板!7次风险提示难挡宇... 9月16日,首开股份(600376.SH)再度涨停,录得10个交易日内的第9个涨停板,截至午盘报6....
65岁阿姨一顿饭把全家送进医院... 8月5日至9月16日,我国东海、黄渤海、南海海域将先后进入“开渔季”,千帆竞发向海逐“鲜”,一大批海...
8725万!华夏银行,快被罚懵... 作者|杆姐来源|杠杆游戏(ID:zhangyinyin0903)一张8725万元的天价罚单,让华夏银...
继海底捞“科目三”,一曲“珍珠... 总第4340期作者 |餐饮老板内参内参君继海底捞“科目三”一曲“珍珠摇”火爆餐饮圈前段时间,内参君非...
V观财报|天坛生物:云南项目正... 【V观财报|天坛生物:云南项目正在进行检查缺陷整改】天坛生物16日举行2025年半年度业绩说明会,对...
特斯拉Optimus引领热潮,... 9月16日,人形机器人板块开盘拉升,均胜电子快速封住涨停。截至中午收盘,汉威科技(300007.SZ...
10年6000万咨询费!“制造... 9月15日,罗永浩表示“华与华”的老板跟他道歉了,事情就过去了。不过,网友没打算放过“华与华”,他们...
寒武纪午后一度收复1500元关... 9月16日午后,寒武纪一度涨近6%,股价重回1500元上方,现涨幅收窄至近3%,成交额超140亿元。
禾赛正式登陆港交所主板,早盘一... 21世纪经济报道记者邓浩9月16日,禾赛科技正式登陆香港交易所主板,实现港股美股双重上市。据了解,该...