说明

除了正向RPC,反向RPC,RRQM还支持客户端之间互Call RPC。

定义、发布互Call RPC服务

实际上,互Call RPC服务和反向RPC服务一样。

  1. 在客户端项目中定义服务
  2. TouchRpc标记
    1. public class ReverseCallbackServer : ServerProvider
    2. {
    3. [TouchRpc]
    4. public int ConPerformance(int age)
    5. {
    6. return ++age;
    7. }
    8. }

【客户端发布服务】
发布服务,实际上是让TcpRpcClient也拥有提供RPC的能力。

  1. RpcService service = new RpcService();
  2. //service.ShareProxy(new IPHost(8848));//分享反向代理RPC代理文件,需要时调用
  3. TcpRpcClient client = new TcpRpcClient();
  4. service.AddRpcParser("client", client);//添加解析
  5. service.RegisterServer<ReverseCallbackServer>();//注册服务
  6. client.Setup(new RRQMConfig()
  7. .SetRemoteIPHost(new IPHost("127.0.0.1:7789"))
  8. .SetProxyToken("RPC"));
  9. client.Connect("123RPC");
  10. client.DiscoveryService("RPC");
  11. Console.WriteLine("成功连接");

互Call RPC

客户端A调用客户端B的方法,需要知道对方的ID。和方法名。然后使用下列函数调用即可。
客户端相互调用 - 图1

互Call RPC也支持调用上下文。