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的实例即可。同样对应的处理器也有固定长度、终止字符分割等。
【网盘地址】
【提取码】
- 源码可用性说明 有技术的可以修复或作为借鉴开发使用,俗话说外行看热闹内行看门道。
- 我这里介绍不全,可以复制标题在百度中搜索,如果同名基本就是一样的。资源太多写程序处理的内容太过干净了。搜索出来有免费的就去下载免费。
- 为啥你这里下载1~3元。因为很多时候只是想找一个代码参考或者看一下而已,购买原版价格不确定还不一定适合自己。确定合适满足自己的业务需要时候,有条件就支持正版哈。
- 付款后 网盘链接失效了怎么办?可以联系我,退款给你。
- 价格不高,纯粹是为了保证能运行,赚服务器和cdn费用。
🧞️全栈接单 😷因疫情原因,在线全职接单。
➊️ 定制开发、维护、修复、仿站、支付、采集 ...
❽ 不局限以上列出的业务需求,要做什么可以先聊聊!
免责声明 还望您仔细阅读以下条款,继续浏览或使用服务表示其均得到您的认可:
➊️ 任何个人或组织均不得利用通过本站源码网站所学到的技术、所下载的软件、源码等进行任何的违法活动(包括但不限于入侵非授权的计算机系统,查阅、下载、篡改任何非授权数据,传播恶意软件)。本站源码不为任何个人或组织的违法行为负责,亦不承担任何法律责任。必要时,本网站将为公安机关提供协助。
➋️ 未经授权,任何个人或组织均不得以本站源码的名义从事任何活动。本站源码不对由此造成的一切后果负责,亦不承担任何法律责任。必要时,本站源码将追究其法律责任。
➌️ 本站源码禁止一切形式的私下交易。对于通过本站源码平台而发生的任何纠纷或遭受的任何损失,本站源码概不负责,亦不为此承担任何法律责任。
➍️ 本站源码的绝大部分资源由网友自行上传, 本站源码不保证所有资源的正确性和安全性。对于一切使用本站源码资源而可能遭致的意外、疏忽、侵权及其造成的损失,本站源码对其概不负责,亦不承担任何法律责任。
➎ 本站源码不保证服务的稳定性。由于不能访问本站源码而带来的任何损失,本站源码对其概不负责,亦不承担任何法律责任
➏️ 本站源码承诺保护您的隐私。您注册的用户名、电子邮件地址等个人资料,非经您亲自许可或根据相关法律、法规的强制性规定,本站源码不会主动地泄露给第三方。需要注意的是您填写的公开的资料将不被视为隐私。
❼ 任何单位或个人认为本站源码提供的有关资源或服务可能涉嫌侵犯其权益时,应该及时通本站源码公开的联系方式通管理员,并提供身份证明、权属证明及详细侵权情况证明。本站源码在确认情况属实后,将会尽快删除侵权内容。
❽ 本站源码所有图片,资源,源码等都是通过正当途径获得。(人民币或者程序爱好者捐赠等途径获得),但可能有部分资源会侵犯您的知识产权,如果您是图片,资源,源码,软件的作者可与本站管理进行联系,我们会在第一时间删除修正 ! 请联系我!
发表评论 取消回复