有一个这样的需求,通过grpc调用连接远端server,在server上起一个线程去完成一个任务,任务完成后,server端主动通知请求端任务已完成。
想要通知请求端,那么需要请求端的ip地址,网上没有查到python获取请求端ip地址的方法。下载grcp源码,发现该信息在context中,可以通过peer来获取。代码如下
service Agent {
rpc StartClient(ClientStartRequest) returns (ClientStartReply) {}
}
def StartClient(self, request, context):
{
print(context)
print(context.peer())
}
结果
文章图片
这样就可以获取到请求端的ip了
Context中还有很多内容待我慢慢研究再总结。
【python3使用grpc获取请求端IP及端口号】