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荐股... “伪财经大V”荐股骗局系列调查 第3期从证监会罚没超8300万元的重磅罚单,到雪球、抖音等平台掀起专...
“00后”上任A股公司董事长、... 2月7日,鸿铭股份(SZ301105,市值26.37亿元)发布关于选举公司第四届董事会董事长、各专门...
8部门“攥指成拳”强监管,合力... 刷短视频弹出“投资稳定币保本保息”的诱人广告,亲友群里转发“海外理财捷径”,朋友圈看到“资产代币化能...
仓库里存着4吨黄金,却硬说没钱... 一家百年珠宝企业,身怀价值数十亿的黄金库存,却因一笔相对不大的债务陷入违约漩涡,宁愿承受司法冻结、监...
突发!刘强东拿下中兴 订阅 快刀财经 ▲ 做您的私人商学院这场仗,刘强东输不起。作者:李东阳来源:李东阳朋友圈(ID:LD...
AI之争成了“外卖大战”,千问... “一代人有一代人的鸡蛋要领。”2月6日上午,下载千问并用1分钱买到一杯奶茶后,陈平(化名)和同事们分...
萃华珠宝的股票将于2月9日停牌... 新京报贝壳财经讯 2月7日,萃华珠宝发布公告称,因资金紧张,流动性短缺,公司及子公司多笔金融机构贷款...
5年耗资74亿元吞下四川大型锂... 木绒锂矿。图源:盛新锂能官网本报(chinatimes.net.cn)记者胡雅文 北京报道木绒锂矿采...
新款理想L9亮相,李想需要复制... 出品|虎嗅汽车组作者|王亚骏头图|视觉中国理想的新武器亮相了。2月6日,理想汽车CEO李想在微博上发...
新商业周报 | 美团收购叮咚买... 《CBNData新商业周报》精选本周新商业领域最新动态,公司头条、消费风向、智能创新、营销动态、可持...