合抱之木,生于毫末;九层之台,起于垒土。
名称 | 描述 |
---|---|
RRQMCore是为RRQM系提供基础服务功能的库,其中包含: 内存池、对象池、等待逻辑池、AppMessenger、3DES加密、 Xml快速存储、运行时间测量器、文件快捷操作、 高性能序列化器、规范日志接口等。 |
|
RRQMSocket是一个整合性的、超轻量级的、可以免费商用使用 的网络通信服务框架。它具有 高并发连接 、 高并发处理 、 事件订阅 、 插件式扩展 、 多线程处理 、 内存池 、 对象池 等特点,让使用者能够更加简单的、快速的搭建网络框架。 |
|
RRQMSocketFramework是RRQMSocket系列的企业版,两者在 功能上几乎没有区别,但是RRQMSocketFramework无任何依赖, 且可以提供专属的定制功能。具体差异请看RRQM商业运营 |
|
RRQMSocket.FileTransfer是一个高性能的文件传输框架,您可以 用它传输任意大小的文件,它可以完美支持上传下载混合式队列传输、 断点续传、 快速上传 、传输限速、获取文件信息、删除文件等。 在实时测试中,它的传输速率可达1000Mb/s。 |
|
RRQMSocket.WebSocket是一个高效,超轻量级的WebSocket框架。 它包含了Service和Client两大组件,同时定义了文本、二进制或 其他类型数据的快捷发送、分片发送接口,可与js等任意WebSocket组件交互 |
|
RRQMSocket.Http是一个能够简单解析Http的服务组件, 能够快速响应Http服务请求。 |
|
RPC是一个超轻量、高性能、可扩展的微服务管理平台框架, 目前已完成开发RRQMRPC、XmlRpc、JsonRpc、WebApi部分。 RRQMRPC部分使用RRQM专属协议,支持客户端异步调用, 服务端异步触发、以及out和ref关键字,函数回调等。 在调用效率上也是非常强悍,在调用空载函数,且返回状态时, 10w次调用仅用时3.8秒,不返回状态用时0.9秒。 其他协议调用性能详看性能评测。 |
|
XmlRpc是一个扩展于RRQMSocket.RPC的XmlRpc组件,可以通过 该组件创建XmlRpc服务解析器,完美支持XmlRpc数据类型,类型嵌套, Array等,也能与CookComputing.XmlRpcV2完美对接。 不限Web,Android等平台。 |
|
JsonRpc是一个扩展于RRQMSocket.RPC的JsonRpc组件, 可以通过该组件创建JsonRpc服务解析器,支持JsonRpc全部功能,可与Web,Android等平台无缝对接。 |
|
WebApi是一个扩展于RRQMSocket.RPC的WebApi组件,可以通过 该组件创建WebApi服务解析器,让桌面端、Web端、移动端可以 跨语言调用RPC函数。功能支持路由、Get传参、Post传参等。 |
- .NET Framework4.5及以上。
- .NET Core3.1及以上。
- .NET Standard2.0及以上。
- WPF
- Winform
- Blazor
- Xamarin
- Mono
- Unity
- 其他(即所有C#系)
RRQMSocket的IOCP和传统也不一样,就以微软官方示例为例,使用MemoryBuffer开辟一块内存,均分,然后给每个会话分配一个区接收,等收到数据后,再复制源数据,然后把复制的数据进行处理。而RRQMSocket是每次接收之前,从内存池拿一个可用内存块,然后直接用于接收,等收到数据以后,直接就把这个内存块抛出处理,这样就避免了复制操作,虽然只是细小的设计,但是在传输1000w次64kb的数据时,性能相差了10倍。
相信大家都使用过其他的Socket产品,例如HPSocket,SuperSocket等,那么RRQMSocket在设计时也是借鉴了其他产品的优秀设计理念,数据处理适配器就是其中之一,但和其他产品的设计不同的是,RRQMSocket的适配器功能更加强大,它不仅可以提前解析数据包,还可以解析数据对象。例如:可以使用固定包头对数据进行预处理,从而解决数据分包、粘包的问题。也可以直接解析HTTP协议,经过适配器处理后传回一个HttpRequest对象等。
RRQMSocket提供多种框架模型,能够完全兼容基于TCP、UDP协议的所有协议。例如:TcpService与TcpClient,其基础功能和Socket一模一样,只是增强了框架的坚固性和并发性,将连接和接收数据通过事件的形式抛出,让使用者能够更加友好的使用。
名称 | 版本(Nuget Version) | 下载(Nuget Download) | 描述 |
---|---|---|---|
RRQMSkin | RRQMSkin是WPF的控件样式库,其中包含: 无边框窗体 、 圆角窗体 、 水波纹按钮 、 输入提示筛选框 、 控件拖动效果 、圆角图片框、 弧形文字 、 扇形元素 、 指针元素 、 饼图 、 时钟 、 速度表盘 等。 |
- API首页
- 说明
- 历史更新
- 商业运营
- 疑难解答
- 【RRQM系】Config配置及其他配置信息介绍
- 【RRQMCore】RRQMSocket基类库基础用法,包含内存池、对象池、高性能序列化等
- 【RRQMSocket】C# 创建高并发、高性能TCP服务器,可用于解析HTTP、FTP、MQTT、搭建游戏服务器等
- 【RRQMSocket】C# 创建TCP客户端,对应RRQM服务器或其他服务器
- 【RRQMSocket】C# 利用数据处理适配器解决粘包、分包问题
- 【RRQMSocket】C# 自定义数据处理适配器
- 【RRQMSocket】C# TcpService和TcpClient高级设置及用法解释。
- 【RRQMSocket】C# 搭建Token系TCP服务器和客户端
- 【RRQMSocket】C# 创建多租户模式的Token服务器
- 【RRQMSocket】C# 搭建TCP自定义协议、Protocol服务器和客户端
- 【RRQMSocket】C# 基于TCP、自定义协议Channel持续传输大数据
- 【RRQMSocket】C# 基于TCP自定义协议Stream、文件等发送与接收
- 【RRQMSocket.RPC】C# 创建多协议、多方式、多语言、多平台RPC框架
- 【RRQMSocket.RPC】C# 创建基于TCP协议的支持ref和out关键字的RPC
- 【RRQMSocket.RPC】C# 基于TCP协议的RRQMRPC的高级使用设置
- 【RRQMSocket.RPC】C# RRQMRPC反向调用(服务器主动调用客户端)
- 【RRQMSocket.RPC】C# RRQMRPC事务总线EventBus使用。
- 【RRQMSocket.FileTransfer】C# 超大文件传输、续传、可高性能、高并发运行、断点续传、换网续传、快速上传等功能
【场景一】
我的服务器(客户端)是物联网硬件(或PLC硬件),我可以使用什么吗?可以的话,应该从哪里学习?
【应用一】
完全可以使用,一般的硬件通信,都是基于TCP协议的指定协议数据包,可以直接学习搭建TCP服务器(或客户端),然后使用数据数据处理器解析数据。不过一般的,在RRQM内置的解析器不足以应对所有的数据协议包,所以可能需要自己重写数据处理适配器。
【场景二】
我想搭建游戏服务器,性能够吗?如何选择应用组件?
【应用二】
首先绝对性能是由物理机决定的,不同的物理机、操作系统,具有不同性能表现。在RRQM中,网络操作模式全遵循IOCP,该模式下在window平台性能显著,最大接收连接数在1w是没有任何问题的。经测试,在个人电脑上(i7-10H,8G RAM),服务器每秒处理数据流量可达1Gb,处理并发数据量200w次(每条4字节)。所以,性能基本上没什么问题的。组件的话,如果客户端也采用RRQM(Unity也可以使用的),那建议使用“TCP+固定包头”,这样解析数据比较方便。如果是其他客户端,就需要自己制定分包策略。
谢谢大家对我的支持,如果还有其他问题,请加群QQ:234762506讨论。
- KCP功能开发
- WebSocket组件
您的支持就是我不懈努力的动力。
- Bobo Joker(200¥)
- UnitySir(66¥)
- Coffee(100¥)
- Ninety(50¥)
- *琼(100¥)
- **安(5¥)
- **文(200¥)
- tonychen899(50¥)
- *平(50¥)
- 凯斯得****有限公司
- 爱你三千遍
- 小老虎
- 三只松鼠
- 午后的阳光
- 菜鸟老何
- 泉州市自发****有限公司
- 上海建勖****有限公司