说明
除了正向RPC,反向RPC,RRQM还支持客户端之间互Call RPC。
定义、发布互Call RPC服务
实际上,互Call RPC服务和反向RPC服务一样。
- 在客户端项目中定义服务
- 用TouchRpc标记
public class ReverseCallbackServer : ServerProvider
{
[TouchRpc]
public int ConPerformance(int age)
{
return ++age;
}
}
【客户端发布服务】
发布服务,实际上是让TcpRpcClient也拥有提供RPC的能力。
RpcService service = new RpcService();
//service.ShareProxy(new IPHost(8848));//分享反向代理RPC代理文件,需要时调用
TcpRpcClient client = new TcpRpcClient();
service.AddRpcParser("client", client);//添加解析
service.RegisterServer<ReverseCallbackServer>();//注册服务
client.Setup(new RRQMConfig()
.SetRemoteIPHost(new IPHost("127.0.0.1:7789"))
.SetProxyToken("RPC"));
client.Connect("123RPC");
client.DiscoveryService("RPC");
Console.WriteLine("成功连接");
互Call RPC
客户端A调用客户端B的方法,需要知道对方的ID。和方法名。然后使用下列函数调用即可。
互Call RPC也支持调用上下文。