我在 Go 中使用 gRPC,需要在客户端连接上设置套接字读取超时(因为可用的函数都是同步的)。似乎无论如何都找不到我可以在 DialOption 中设置的内容。有什么方法可以设置超时吗?
还有我可以取消请求吗?
谢谢。
最佳答案
没有示例代码,我只能在没有具体示例的情况下给您一个简单的答案。
如果你想设置超时,你应该使用上下文。上下文接口(interface)提供了一个可以在上下文中设置的超时:godoc: Context
在 gRPC 包中,您有使用上下文拨号的方法:godoc: DialContext
所以只需在您的上下文中设置超时并在您拨号时使用上下文。
关于sockets - 如何为 Go gRPC 设置 SO_TIMEOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42337156/