本文介绍了如何检查连接到GRPC服务器的客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为了为我的GRPC服务器/客户端设置提供更好的调试信息,我正在尝试为grpc.server
查找允许我检查哪些客户端连接到服务器的API。
我发现的最有希望的问题是question, which gives a starting point on how to do this in Java GRPC。但是,在Python GRPC实现中不存在Java API。
到目前为止,我使用grpc.ServicerContext
中的context.peer()
方法跟踪唯一的对等点。如果对等点有一段时间没有发送请求(我将超时设置为2秒),我就认为客户端已断开连接。我已经开始研究python-GRPC源代码,但没有取得任何进展。
如果有任何人知道我可以用到的类似的python API,我将不胜感激!即使是内部API也足以满足这些调试需求。
推荐答案
我找到了更多有关Channel的文档和示例,其他人一直在建议您使用它,它似乎就是您想要的。
这里有一个pull request that gives an example of channelz being used。它只使用GetServer Channel API,因此您必须对其进行调整。
这里有一个unit test that uses channelz,测试可能与GetTopChannels API相关的API。这篇关于如何检查连接到GRPC服务器的客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!