作者: Blue_Pen
查看: 92349|回复: 124
打印 上一主题 下一主题

[源码] 【C#Socket】BinGoo系列之Socket组件《二、服务端的类库封装》

  [复制链接]
跳转到指定楼层
楼主
Blue_Pen 发表于 2014-11-7 12:26:18 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
查看: 92349|回复: 124
本帖最后由 Blue_Pen 于 2016-10-25 13:39 编辑

BinGoo系列之Socket组件《二、服务端的类库封装》

* 简介:基于底层socket的服务端监听,非TcpListener,代码量精简,本片文章提供上篇文章提到的客户端更新源码(说明简介在封装类的开头)
* 功能介绍:基于底层的Socket服务端监听,监听客户端连接,接收客户端发送的数据,发送数据给客户端,心跳包(代码已注释,根据需要将代码取消注释)
* socket服务端监听封装类的调用三步:
* 1、初始化:
* int port=5100
* TCPServer _tcpServer=new TCPServer(port);
*
* 2、创建委托接收数据方法并绑定(可根据需求定义),此类暂时定义了四种接收数据的委托:返回接收客户端的数据,返回客户端连接状态和监听状态,返回错误信息,返回客户端数量的委托
*
* ①申明返回接收数据信息的委托方法
* DelegateHelper.TcpServerReceive= 自定义方法;
*
* ②申明返回状态信息的委托方法
* DelegateHelper.TcpServerStateInfo= 自定义方法;
*
* ③申明放回错误信息的委托方法
* DelegateHelper.TcpServerErrorMsg = 自定义方法;
*
* ④申明返回客户端数量档位委托方法
* DelegateHelper.ReturnClientCountCallBack = 自定义方法;
*
* 3、启动监听和关闭监听
* _tcpServer.Start();
*  _tcpServer.Stop();

代码截图及demo运行效果图:
1、服务端代码总行数预览图

不超过300行代码
2、代码片段预览图
服务端压力测试效果图


客户端效果图

500个客户端连接使用内存大约40多M


源码版本会随时更新,请注意更新时间

2014-11-27更新内容
1:修复socket服务端Stop停止方法,改进停止监听后断开所有客户端,并终止所有处于WaitSleepJoin状态的线程,防止客户端一直处于阻塞状态,无法判断服务器是否终止监听


2014-11-29更新内容
1:新增状态消息码,根据消息码来判断消息类型

2:解决改进部分代码浪费CPU资源方法
3:修改客户端"接收数据委托方法"绑定的代码错误


下面是最新的Socket控件组件连接:
【C#原生Socket通讯控件】BinGoo系列之Socket控件TCP+UDP
http://bbs.cskin.net/forum.php?mod=viewthread&tid=874&fromuid=101


下面的源码包含《SocketHelper.dll的更新源码+SocketHelperDemo版源码》
SocketHelper服务端及客户端封装源码及案例源码下载:


评分

参与人数 4金钱 +5 收起 理由
lifeee + 1 感谢分享,LZ辛苦了~
DragonX + 1 感谢分享,LZ辛苦了~
liqi2345241 + 1
乔克斯 + 2 感谢LZ对论坛做出的贡献~

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏22 转播转播
回复 论坛版权

使用道具 举报

125#
xxkxef 发表于 2024-4-18 10:12:11 | 只看该作者
不错......
回复

使用道具 举报

124#
Happylvlv 发表于 2023-7-21 23:08:19 | 只看该作者
感谢楼主分享!
123#
Anode 发表于 2022-5-10 22:05:46 | 只看该作者
棒棒的,喜欢
122#
ddcl 发表于 2021-11-18 19:05:38 | 只看该作者
新手来学习....感谢.新手来学习....感谢.
121#
ddcl 发表于 2021-11-18 19:01:04 | 只看该作者
新手来学习....感谢.
120#
hj5353 发表于 2020-9-1 08:22:51 | 只看该作者
非常有用 学习了
119#
scentdragon 发表于 2020-8-4 22:31:15 | 只看该作者
好东西,感谢分享
118#
coolcg2008 发表于 2020-7-6 14:13:10 | 只看该作者
十分感谢!!!!!!!!!!!!!!!!!
回复

使用道具 举报

117#
allpure 发表于 2020-6-30 14:02:42 | 只看该作者
        感谢分享,LZ辛苦了~
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-5-5 14:24, Processed in 0.651271 second(s), 34 queries , Gzip On.

快速回复 返回顶部 返回列表