从客户机主动连接到服务器,然后再由服务器向客户机提供服务。

通常的RPC是基于C/S结构,RPC的服务端对应网络的服务器,RPC的客户端也对应网络客户端。

但是对于一些特殊场景,比如在公司内网提供一个RPC服务,但是在外网无法链接到内网的服务器。

这种时候我们可以参考类似反向代理的技术,首先从内网主动链接到外网的TCP服务器,然后基于TCP链接向外网提供RPC服务。

 

服务端代码:

 

客户端代码:

 

说实话这段代码写的挺纠结的。

后来我就想通了,应该是服务端一直在尝试请求客户端,当客户端需要的时候就Listen,建立连接。

然后执行相应的操作,然后再释放链接。

【Go】反向RPC
Tagged on:
0 0 投票数
Article Rating
订阅评论
提醒

0 评论
内联反馈
查看所有评论