.Net Rpc服务调用记录1

最近,研究了Rpc调用,照猫画虎的自己也写了一版。整个调用过程如下:

1. 客户端调用过程如下: 

2.服务端如下:

上述是两端涉及到的各个组件已经之间的调用关系。各组件职责为:

1.IProxy: 调用IServiceFinder 查找可用地址;构建RequestMessage; 调用IRemoteServiceInvoker发起远程调用

2. IServiceFinder: 调用服务管理器查询可用服务地址;调用地址筛选器选定地址;

3.IRemoteServiceInvoker: 由于是异步发起,此处首先注册回调钩子;调用IMessageSender进行消息发送;

4.IMessageSender: 负责编码消息,创建通道,发送消息;

5.Server:  服务寄宿;服务注册;启动端口并监听;

6.IMessageReceiver: 注册接收到消息时的回调;

7.IServiceExecutor: 实例化服务;调用服务方法;调用Sender,将结果返回给客户端;

以上是整理逻辑的分解,后续将分别解析客户端和服务端的细节和代码。非常感谢!

猜你喜欢

转载自www.cnblogs.com/fisher3/p/9965469.html
今日推荐