# 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

图片名称

[![NuGet version (RRQMSocket.RPC)](https://img.shields.io/nuget/v/RRQMSocket.RPC.svg?style=flat-square)](https://www.nuget.org/packages/RRQMSocket.RPC/) [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![Download](https://img.shields.io/nuget/dt/RRQMSocket.RPC)](https://www.nuget.org/packages/RRQMSocket.RPC/) QQ
危楼高百尺,手可摘星辰
## 💿描述 | 名称|地址 |描述| |---|---|---| |[![NuGet version (RRQMSocket.RPC)](https://img.shields.io/nuget/v/RRQMSocket.RPC.svg?label=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**秒。
其他协议调用性能详看性能评测。 ## 🎀依赖、扩展库 | 名称|地址 |描述| |---|---|---| | [![NuGet version (RRQMCore)](https://img.shields.io/nuget/v/RRQMCore.svg?label=RRQMCore)](https://www.nuget.org/packages/RRQMCore)|[Gitee](https://gitee.com/dotnetchina/RRQMSocket)
[Github](https://github.com/RRQM/RRQMSocket) | RRQMCore是为RRQM系提供基础服务功能的库,其中包含:
**内存池**、**对象池**、**等待逻辑池**、**AppMessenger**、**3DES加密**、
**Xml快速存储**、**运行时间测量器**、**文件快捷操作**、
**高性能序列化器**、**规范日志接口**等。 | |[![NuGet version (RRQMSocket)](https://img.shields.io/nuget/v/RRQMSocket.svg?label=RRQMSocket)](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等内容| |[![NuGet version](https://img.shields.io/nuget/v/RRQMSocketFramework.svg?label=RRQMSocketFramework)](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)| | [![NuGet version (RRQMSocket.Http)](https://img.shields.io/nuget/v/RRQMSocket.Http.svg?label=RRQMSocket.Http)](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)