python - Python GRPC - 连接打开/关闭处理程序
问题描述
每当 grpc 服务器打开/关闭与某个客户端的新传输连接时,我都希望有一些通知/处理程序。
我发现这个问题导致了这个ServerTransportFilter解决方案。但是,此选项指的是grpc-java实现。我在 python grpc 包上搜索它并没有找到它。
我发现的最接近的机制是服务器构造函数中的拦截器参数,但这种情况发生在每个 rpc 中,并且无论如何不包含有关连接打开/关闭的信息。
解决方案
对于客户端,Channel.subscribe是您正在寻找的。
但对于服务器端,这是一个棘手的问题。传输逻辑(TCP 套接字)在 gRPC C-Core 中实现,这对 Python 包装层不完全可见。因此,目前您无法为这些事件注册处理程序。
可能有一些方法可以实现拦截器中的功能,但它需要更多关于您的目标的详细信息。
如果您认为此功能对您的项目很重要,请向grpc/grpc 提交问题。
推荐阅读
- android - 缩放问题和 3 秒延迟进入/退出带有浮动/半透明窗口的画中画模式
- openssl - openSSL SSL_CTX_load_verify_locations 失败
- visual-studio-code - 如何在 VS Code 中调整特定标签的自动完成行为
- acumatica - 在销售订单复制订单操作中未获得“this._Graph.Caches”
- excel - 如何在 VBA 中将 FILETIME 转换为日期?
- version-control - 如何知道哪个 Windows 进程已经启动/停止了哪个服务
- c - 让函数选择最大数量的给定函数
- css - 避免在溢出的多行文本中切割线:对于固定宽度/高度容器隐藏
- javascript - Window.open() 在谷歌浏览器上不起作用
- vba - 使用 ExportAsFixedFormat 时的运行时错误