sockets - 如何为 Go gRPC 设置 SO_TIMEOUT

标签 sockets go timeout grpc

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

还有我可以取消请求吗?

谢谢。

最佳答案

没有示例代码,我只能在没有具体示例的情况下给您一个简单的答案。

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

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

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

关于sockets - 如何为 Go gRPC 设置 SO_TIMEOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42337156/

相关文章:

java - 如何在不使用 shell 脚本的情况下获取超时命令的输出

java - "Logging in and out"一个套接字

java - 在 Android 中的蓝牙连接期间抛出的连接未创建(失败或中止)异常

go - 开关盒不同类型与去

go - 为什么 curl 为我的用户提供了错误的 json?

javascript - 带有 2 个计时器的 jquerymobile session 超时

c# - 如何延长 SQL 查询的超时时间

c - 如何精确或近似地测量接收数据包的延迟

javascript - socket.io 在连接时未从服务器向客户端发出事件

go - 为什么 golang 将类型说明符 "after"放在变量名中?