# RRQMSocket.RPC
**Repository Path**: clouds-and-winds/RRQMSocket.RPC
## Basic Information
- **Project Name**: RRQMSocket.RPC
- **Description**: 【RRQMSocket.RPC】是一个RPC管理平台,它支持以任何协议,任何序列化方式的调用。目前已适配的有TouchRpc、WebApi、XmlRpc、JsonRpc等内容。支持Consul分布式集群。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/RRQM_Home
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2022-06-28
- **Last Updated**: 2022-06-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://www.nuget.org/packages/RRQMSocket.RPC/)
[](https://www.apache.org/licenses/LICENSE-2.0.html)
[](https://www.nuget.org/packages/RRQMSocket.RPC/)
危楼高百尺,手可摘星辰
## 💿描述
| 名称|地址 |描述|
|---|---|---|
|[](https://www.nuget.org/packages/rrqmsocket.rpc)|[Gitee](https://gitee.com/RRQM_Home/rrqmsocket.rpc)
[Github](https://github.com/RRQM/RRQMSocket.RPC) |这是一个超轻量、高性能、可扩展的微服务调用平台框架,
目前已完成开发**TouchRpc**、**XmlRpc**、**JsonRpc**、**WebApi**部分。
**TouchRpc**部分使用专属协议,支持客户端**异步调用**,
服务端**异步触发**、以及**out**和**ref**关键字,**函数回调**等。
在调用效率上也是非常强悍,在调用空载函数,且返回状态时,
**10w**次调用仅用时**3.8**秒,不返回状态用时**0.9**秒。
其他协议调用性能详看性能评测。
## 🎀依赖、扩展库
| 名称|地址 |描述|
|---|---|---|
| [](https://www.nuget.org/packages/RRQMCore)|[Gitee](https://gitee.com/dotnetchina/RRQMSocket)
[Github](https://github.com/RRQM/RRQMSocket) | RRQMCore是为RRQM系提供基础服务功能的库,其中包含:
**内存池**、**对象池**、**等待逻辑池**、**AppMessenger**、**3DES加密**、
**Xml快速存储**、**运行时间测量器**、**文件快捷操作**、
**高性能序列化器**、**规范日志接口**等。 |
|[](https://www.nuget.org/packages/RRQMSocket/)|[Gitee](https://gitee.com/dotnetchina/RRQMSocket)
[Github](https://github.com/RRQM/RRQMSocket)| RRQMSocket是一个整合性的、超轻量级的网络通信框架。
包含了TCP、UDP、Ssl、Channel、Protocol、Token、
租户模式等一系列的通信模块。其扩展组件包含:WebSocket、
大文件传输、RPC、WebApi、XmlRpc、JsonRpc等内容|
|[](https://www.nuget.org/packages/RRQMSocketFramework/)|[Gitee](https://gitee.com/dotnetchina/RRQMSocket)
[Github](https://github.com/RRQM/RRQMSocket) |**RRQMSocketFramework**是RRQMSocket系列的增强企业版,
两者在基础功能上没有区别,但是在扩展功能上有一定差异性,
例如RPC中的EventBus、文件传输中的限速功能等,
具体差异请看[RRQM商业运营](https://gitee.com/RRQM_OS/RRQM/wikis/%E5%95%86%E4%B8%9A%E8%BF%90%E8%90%A5)|
| [](https://www.nuget.org/packages/rrqmsocket.http)|[Gitee](https://gitee.com/dotnetchina/RRQMSocket)
[Github](https://github.com/RRQM/RRQMSocket) | RRQMSocket.Http是一个能够简单解析Http的服务组件,
能够快速响应Http服务请求。|
## 🖥支持环境
- .NET Framework4.5及以上。
- .NET Core3.1及以上。
- .NET Standard2.0及以上。
## 🥪支持框架
- WPF
- Winform
- Blazor
- Xamarin
- Mono
- Unity(在IL2cpp编译时,需要导入源码或添加link.xml,亦或者直接安装RRQMSocketFramework,Mono则直接加载dll即可)
- 其他(即所有C#系)
### unity内link.xml设置(放置在Assets文件夹内)
[unity官方文档 托管代码剥离](https://docs.unity3d.com/cn/current/Manual/ManagedCodeStripping.html#LinkXML)
```
```
## 🔗联系作者
- [CSDN博客主页](https://blog.csdn.net/qq_40374647)
- [哔哩哔哩视频](https://space.bilibili.com/94253567)
- [源代码仓库主页](https://gitee.com/RRQM_Home)
- 交流QQ群:234762506
## 🌟说明文档
- [ 文档首页 ](https://www.yuque.com/eo2w71/rrqm/2c5dab34026d2b45ada6e51ae9e51a5a)
## 🌴 RPC特点速览
#### 【TouchRpc】
TouchRpc是基于特定协议的RPC组件,也是在RRQMSocket.RPC中最强悍的,其特性:
- 支持**自定义**类型参数。
- 支持**Ssl**加密调用。
- 支持具有**默认值**的参数设定。
- 支持**out、ref** 关键字参数。
- 支持服务器**回调客户端** 。
- 支持**客户端**之间**相互调用**。
- 支持异步调用。
- 支持**静态织入调用**,**静态编译调用**,也支持**方法名+参数**调用。
- 支持**调用配置**(类似MQTT的AtMostOnce,AtLeastOnce,ExactlyOnce)。
- **支持EventBus**。
- 支持**自定义序列化**。
- 支持**大体积Byte**传输。
- 支持无限制大小**流数据传输**。
- 支持无限制大小**文件传输**。
- **全异常反馈** ,服务器调用状态会完整的反馈到客户端(可以设置不反馈)。
- 高性能,在保证送达但不返回的情况下,10w次调用用时0.8s,在返回的情况下,用时3.9s。
#### 【JsonRpc】
JsonRpc解析器是遵循JsonRpc2.0的RPC服务组件,能够让使用者通过Json字符串基于TCP、HTTP/HTTPS协议就可以调用RPC服务,其特点有:
- 支持**TCP、HTTP/HTTPS**协议 。
- **C#端支持代理生成** 。
- **全异常反馈** 。
- 支持自定义类型。
- 支持类型嵌套。
- 支持内联调用。
- 支持缺参调用。
#### 【XmlRpc】
使用XmlRpc解析器,就可以在RPCService中通过XmlRpc的调用方式直接调用服务,客户端可以使用**CookComputing.XmlRpcV2**进行对接,其特点:
- **异常反馈**
- 支持**HTTP/HTTPS**协议 。
- **C#端支持代理生成** 。
- 支持自定义类型。
- 支持类型嵌套。
- 支持Array及自定义Array嵌套。
#### 【WebApi】
使用WebApi解析器,就可以在RPCService中通过WebApi的调用方式直接调用服务。
- 高性能,100个客户端,10w次调用,仅用时17s。
- 支持**HTTP/HTTPS**协议 。
- **全异常反馈** 。
- 支持大部分路由规则。
- 支持js、Android等调用。
## ✨简单示例
**_更多详情请查看[说明文档](https://www.yuque.com/eo2w71/rrqm/2c5dab34026d2b45ada6e51ae9e51a5a)。_**
## 🧲应用场景模拟
[场景入口](https://www.yuque.com/eo2w71/rrqm/b138b52168853afb65369ca8171f14b9)
***
## 致谢
谢谢大家对RRQM的支持,如果还有其他问题,请加群QQ:234762506讨论。
## 支持作者
[支持入口](https://www.yuque.com/eo2w71/rrqm/a5199820843b324f025633fdeee44394)