如何为 Go gRPC 设置 SO_TIMEOUT

How to set SO_TIMEOUT for Go gRPC

我在 Go 中使用 gRPC,需要在客户端连接上设置套接字读取超时(因为可用的函数都是同步的)。似乎无论如何都找不到我可以在 DialOption 中设置的内容。有什么方法可以设置超时吗?

还有我可以取消请求吗?

谢谢。

没有示例代码,我只能给你一个没有具体示例的简单答案。

如果你想设置超时,你应该使用上下文。上下文接口提供了一个超时时间,您可以在上下文中设置它:godoc: Context

在 gRPC 包中,您有使用上下文拨号的方法:godoc: DialContext

所以只需在您的上下文中设置超时并在您拨号时使用上下文。