
标签:
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.6.0 更新日志:
本次更新包括不兼容部分,所以更新后或许需要对代码及逻辑做相应调整,望周知。
【RRQMCore】
添加:ByteBlock独立读写功用。
添加:ByteBlock创立暂时目标。
【RRQMSocket】
修正:撤销衔接目标复用机制和NewCreate特点。
添加:Protocol组件添加Channel用法。
【RRQMSocket.RPC】
修正:序列化方法由客户端动态指定。
添加:支撑调用上下文。
添加:支撑客户端动态指定调用实例。
添加:Channel联合运用。
【RRQMSocket.RPC.JsonRpc】
添加:上下文调用。
加载全部内容
Godot游戏引擎 官方版53.12MB174人下载 Godot是一个全新开发的开源跨平台游戏引擎,其功能集类似知名的跨平台游戏引擎Unity,可用于开发PC、主机、移动和Web游戏。
下载
右侧自动生成二维码和返回顶部代码 v1.091 KB121人下载网页自动生成可扫描二维码图,二维码内容为对应网页网址链接 支持所有静态和动态网页页面,生成二维码可用手机软件我查查、魔码、微信等软件利用手机摄像头扫描,即可实现手机
下载
jquery v1.12.1 121 KB113人下载jQuery 是一个javascript 库,它有助于简化 javascript 以及 Asynchronous javascript + xml (Ajax) 编程。与类似的 javascript 库不同,jQuery 具有独特的基本原理,可以简洁地表示常见的复杂代码。学习 jQuery 基本原理,探索其
下载开源向量数据库milvus 最新版18.22 MB112人下载开源向量数据库milvus 最新版是一款全球领先的开源向量数据库,赋能 AI 应用和向量相似度搜索,加速非结构化数据检索。用户在任何部署环境中均可获得始终如一的用户体验。这里下载站为您提供开源向量数据库milvus 最新版下载,欢迎您使用这里下载站安装体验!
下载
Scrapy Web爬虫框架 v1.3.0 1.19 MB111人下载Scrapy 是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。
下载
Ionicons开源图标集合 正式版1.53MB110人下载 Ionicons是一个完全开源的图标集,其中包含1100多个图标,这些图标是专为Web,iOS,Android和桌面应用程序而设计的。Ionicons是为Ionic Framework构建的,因此图标同时具有Material Design和iOS版本。
下载vxe-tablevue表格解决方案1.62MB110人下载vxe-table是一个基于vue的表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、模态窗口、自定义模板、灵活的配置项、丰富的扩展插件等...设计理念:面向现代浏览器,高效的简洁 API 设计模块化表格、按需加载、插件化扩展为单行编辑表格而设计,支持增删改查及更多扩展,强大的功能的同时兼具性能功能:Basic table (基础表格)Grid
下载开源向量数据库milvus 官方版21.75 MB107人下载Milvus 是一款全球领先的开源向量数据库,赋能 AI 应用和向量相似度搜索,加速非结构化数据检索。用户在任何部署环境中均可获得始终如一的用户体验。
下载Vant移动端组件库22.08MB107人下载Vant 是一套轻量、可靠的开源移动端组件库。通过 Vant,可以快速搭建出风格统一的页面,提升开发效率。特性:1、60+ 高质量组件2、95% 单元测试覆盖率3、完善的中英文文档和示例4、支持按需引入5、支持主题定制6、支持国际化7、支持 TS8、支持 SSR建议搭配 webpack,babel 使用 Vant,这样可以使用 webpack 提供的丰富插件和个性化配置。Vant 支持了 babe
下载
JPress v0.2 bulid0706 6.13 MB107人下载JPress,一个wordpress的java代替版本,使用JFinal开发。支持类似wordpress的几乎所有功能,比如:模板,插件等。同时在模板上,JPress提出了模板即模型的概念,方便模板制作人灵活制作业务模型,移除了widget等繁杂功能,同时在模板和插件制作上比wordpress
下载