站长站首页| 下载首页| 源码下载| 软件下载| 素材下载| 模板下载| 安卓下载 最新 | 最热 | 地图 | xml

RRQMSocket网络通信框架

RRQMSocket网络通信框架

v6.3.0其他源码
下载地址
  • 软件大小:2.45MB
  • 软件语言:简体中文
  • 更新时间:2022-01-15
  • 软件类别:国产软件
  • 软件授权:开源软件
  • 软件厂商:Home Page
  • 运行环境:C#
  • 软件等级:
  • 演示网址:Demo Url

下面我们对RRQMSocket网络通信框架v6.3.0文件阐述相关使用资料和RRQMSocket网络通信框架v6.3.0文件的更新信息。

易采下载网免费提供RRQMSocket网络通信框架下载资源服务,欢迎大家前来下载。

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网络通信框架 v6.3.0 更新日志:

 

更新描述: 本次更新为RPC部分修改较大,且RPCTool相关工具强制更新,不然无法使用。

【RRQMCore】

修复:RRQM序列化多数据bug。

增加:大小端转换器RRQMBitConverter,其用法与BitConverter基本一致。

 

【RRQMSocket】

增加:IPHost支持域名解析。

增加:NATService,可以一键完成TCP数据转发。

优化:全面解决大小端问题,RRQM系默认以RRQMBitConverter.Default小端转化。

修复:Protocol系用户协议冲突检测问题。

 

【RRQMSocket.RPC】

重构RPC,优化调用框架。

修改:发现服务时,由配置文件的ProxyToken转换为直接传参ProxyToken。

修改:代理文件的生成不再由RRQMRPC提供,转而由RpcService直接提供。提供的代理也直接支持JsonRpc和XmlRpc。

修改:代理文件的生成,不再一次性生成,由系统提供的方法转义,可供更加细微的筛选服务。

修改:反向调用时,不再让TcpRpcClient注册服务,而是由RpcService注册,同时,反向RPC也能使用代理生成、服务筛选、out和ref关键字、调用中断取消、获取调用上下文等。

修改:UdpRpc解析器和客户端均改名为UdpRpc。

优化:在服务定义时,可通过Async属性标识本服务异步执行,但同步返回,因此,这使得反向调用变得简单,不再使用Task。

修复:ID调用的异常bug。

 

【RRQMSocket.FileTransfer】

优化:解决大小端问题。

 

【RRQMSocket.WebSocket】

修复:大小端问题。

 

 

RRQMSocket网络通信框架

下载地址

本类排行

本类热点