常用的远程通讯方式是通过消息交互的方式进行,但以消息作为基础通讯数据在使用上并不友好。BeetleX为了让通讯更方便在TCP通讯基础上封装了远程方法调用组件XRPC,通过XRPC可以快速实现基于接口/委托的远程方法调用。
引用
过XRPC可以快速实现基于接口/委托的远程方法调用,服务端需要引用BeetleX.XRPC.Hosting;客户端引用BeetleX.XRPC或.NETStandard2引用
BeetleX.XRPC.Clients。
接口定义
组件对远程接口的定义并没有太多要求,但方法的返回值必须是Task类型。
public interface IHello {
Task<string> Hello(string name); } [Service(typeof(IHello))] public class HelloImpl : IHello {
public Task<string> Hello(string name) {
return $"hello {name} {DateTime.Now}".ToTask(); }