详情介绍
RRQMSocket网络通信框架是一个整合性的、超轻量级的网络通信服务框架。它具有高并发连接、高并发处理、事件订阅、插件式扩展、多线程处理、内存池、对象池等特点,让使用者能够更加简单的、快速的搭建网络框架。在发送效率上,同步发送可达20w/s,异步发送可达60w/s。服务器在接收、处理效率上因线程数量而定。
支持环境:
.NETFramework4.5及以上。
.NETCore3.1及以上。
.NETStandard2.0及以上。
支持框架:
WPF
Winform
Blazor
Xamarin
Mono
Unity
其他(即所有C#系)
特点:
1、对象池
对象池在RRQMSocket有很多应用,最主要的两个就是连接对象池和处理对象池。连接对象池就是当客户端成功连接时,首先会去连接对象池中找TcpSocketClient,然后没有的话,才会创建。如果哪个客户端掉线了,它的TcpSocketClient就会被回收。这也就是ID重用的原因。
然后就是处理对象池,在RRQMSocket中,接收数据的线程和IOCP内核线程是分开的,也就是比如说客户端给服务器发送了1w条数据,但是服务器收到后处理起来很慢,那传统的iocp肯定会放慢接收速率,然后通知客户端的tcp窗口,发生拥塞,然后让客户端暂缓发送。但是在RRQMSocket中会把收到的数据通过队列全都存起来,首先不影响iocp的接收,同时再分配线程去处理收到的报文信息,这样就相当于一个“泄洪湖泊”,能很大程度的提高处理数据的能力。
2、多线程
由于有处理对象池的存在,使多线程处理变得简单。在客户端连接完成时,会自动分配该客户端辅助类(TcpSocketClient)的消息处理逻辑线程,假如服务器线程数量为10,则第一个连接的客户端会被分配到0号线程中,第二个连接将被分配到1号线程中,以此类推,循环分配。当某个客户端收到数据时,会将数据排入当前线程所独自拥有的队列当中,并唤醒线程执行。
3、传统IOCP和RRQMSocket
RRQMSocket的IOCP和传统也不一样的,以微软官方为例,使用MemoryBuffer开辟一块内存,然后均分,然后给每个会话分配一个区接收,等收到数据以后,再复制一份,然后把复制的数据抛出处理。而RRQMSocket是每次接收之前,从内存池拿一个可用内存块,然后直接用于接收,等收到数据以后,直接就把这个内存块抛出去了,这样就避免了复制操作,虽然只是细小的设计,但是在传输1000w次64kb的数据时,性能相差了10倍。所以也是基于此,文件传输时效率才会高。
4、数据处理适配器
相信大家都使用过其他的Socket产品,例如HPSocket,SuperSocket等,那么RRQMSocket在设计时也是借鉴了其他产品的优秀设计理念,数据处理适配器就是其中之一,但和其他产品的设计不同的是,RRQMSocket的适配器功能更加强大,它可以无视真实的数据,而模拟出想要的数据,例如:可以对数据进行预处理,从而解决数据分包。粘包的问题,也可以直接解析HTTP协议,经过适配器处理后传回一个HttpRequest对象等。
5、粘包、分包解决
在RRQMSocket中处理TCP粘包、分包问题是非常简单的。只需要更改不同的数据处理适配器即可。例如:使用固定包头,只需要给TcpSocketClient和TcpClient赋值FixedHeaderDataHandlingAdapter的实例即可。同样对应的处理器也有固定长度、终止字符分割等。
RRQMSocket网络通信框架 v5.8.0 更新日志:
增加:ProtocolSubscriber订阅协议发送与接收。
增加:WaitSenderSubscriber订阅协议发送后同步等待返回。
增加:Stream发送与接收。
修改:SocketClient开放所有事件订阅。
修改:所有的连接和断开事件名称,分别为Connected和Disconnected。
修改:委托和事件的相关参数,更加能够鲜明的知道触发该事件的对象。
修复:服务器在多地址监听时,一个失败即全部异常的情况。
RRQMSocket网络通信框架 v6.6.0 更新日志:
增加:Channel类,可直接由Client向Client开通。
下载地址
人气源码
相关文章
-
泰顶项目管理软件(全功能开源版) v2025.04泰顶项目管理软件[综合平台],始于2010年,具有强大的项目计划和流程管控功能,上千用户使用,模块俱全,架构灵活,成熟可靠,适用于多个行业的专业的项目管理软件平台...
-
DBCHM beta数据库文档生成工具 v1.9.0.1DBCHM 是一款简单、实用的数据库文档生成工具,该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,本文给大家介绍DBCHM beta数据库文档生成工具 v1.9.0.1 ...
-
eCRM(E客CRM)客户关系管理系统 v1.0.16eCRM(E客CRM)是基于eFrameWork低代码开发平台搭建的客户关系管理系统。其主要功能包括:系统管理、产品管理、产品分类、客户管理、订单管理、客户回访、通知公告、销售计划...
-
Util6MIS(优六企服系统_附CMS插件及模板) v5.0 源码版Util6MIS(优六企服系统)已集成多项插件系统,其Util6 CMS、DMS、OAS、WXS 是在信息化管理系统框架(Util6MIS)基础上开发的插件系统,欢迎需要的朋友下载使用...
-
C#实现插件式开发源码今天给大家分享基于c#开发的插件式源码,喜欢的朋友快来下载体验吧...
-
C#实现报警收集系统源码今天给大家分享的是一款基于C#实现报警收集系统源码,非常不错,喜欢的朋友快来下载体验吧...
-
C# 文字转语音源码今天给大家分享的实例代码是C# 文字转语音源码,喜欢的朋友快来下载体验吧...
-
基于C#语言开发文件上传、后缀名称判别功能今天给大家分享基于c#语言开发的文件上传、后缀名称判别功能,喜欢的朋友快来下载使用吧...
-
C#图片去背景示例源码今天给大家分享基于c#实现图片去背景示例源码,喜欢的朋友快来下载体验吧...
-
C# remoting聊天室源码使用C#编的聊天工具的程序, 此程序是一款用与REMOTING技术的程序,非常不错,喜欢的朋友快来下载体验吧...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的RRQMSocket网络通信框架 v8.0.0资源来源互联网,版权归该下载资源的合法拥有者所有。




























