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

相关内容

热门资讯

营收净利双增+投资分红加码!新... 近期,新华保险以其亮眼的业绩引发市场高度关注。无论是前三季度归母净利润增长58.9%,年化总投资收益...
死在舒适区的暴发户 死在舒适区... 2019年,受益于普及安装ETC的政策,ETC产业链爆发式增长。但是,当时星空君认为,市场的反应是过...
老登们的社交货币全崩了 老登个... 文|小卢鱼编辑|杨旭然上证指数已经在挑战4000点,但整个市场仍处于高度分化的状态——尤其是以白酒为...
马斯克万亿薪酬计划获批 万亿美... 2025.11.07本文字数:803,阅读时长大约1.5分钟周四,特斯拉(TSLA.O)股东以75%...
女子穿运动内衣跑步胸前染色,飞... 极目新闻记者 丁伟近日,“女子穿运动内衣跑越野胸部染色”的话题,引发关注。据报道,浙江杭州一女子穿价...
日本汽车巨头,将出售总部大楼!... 据央视新闻,日本日产汽车11月6日发布消息称,将以970亿日元、约合45亿元人民币的价格出售位于神奈...
美股全线下跌,道指跌近400点... 2025.11.07本文字数:1177,阅读时长大约2分钟作者 |第一财经 胡弋杰美国股市周四显著收...
银行业反内卷潮涌 基层最后一公... 当“防止‘内卷式’恶性竞争”成为政策明确导向,银行业正迎来一场从竞争逻辑到发展模式的深刻变革。202...
安井食品:控股子公司英国功夫食... 北京商报讯(记者 郭秀娟 王悦彤) 11月6日,安井食品在投资者互动平台回答投资者提问称,公司控股子...
“牛肉通胀”席卷美国 牛肉暴涨... 饲养牲畜的成本过高叠加关税压力,使美国牛肉的价格正不断刷新纪录。对消费者来说,这不再只是一个"通胀"...