go - 绑定到本地 IP 地址时的 i/o 超时
问题描述
所以我绑定了一个本地 IP 地址以在 http 请求中使用。这是我正在使用的代码:
localAddr, err := net.ResolveIPAddr("ip6", laddr)
if err != nil {
log.Fatal(err)
}
localTCPAddr := net.TCPAddr{
IP: localAddr.IP,
}
client := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: (&net.Dialer{
LocalAddr: &localTCPAddr,
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
DualStack: true,
}).DialContext,
MaxIdleConns: 100,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
},
}
这会因 ai/o 超时而恐慌。我不确定为什么会发生这种情况,因为这段代码昨天还在工作。我能想到的唯一原因是我向网络接口添加了数千个 IP 地址,这是否会导致超时,有人知道任何解决方案吗?
编辑:
错误信息:
Get https://myip.addr.space: dial tcp [myip]:0->[2607:5300:203:118:1:0:3:8b50]:443: i/o timeout
解决方案
推荐阅读
- hbase - HBase 警告 totalCompactingKVs 小于 currentCompactedKVs
- android - ConstraintLayout 中心布局
- java - 我无法构建 Spring Boot 应用 mvn 包
- javascript - javascript 检查是否触发了所需的输入
- coq - Coq:未打印符号
- amazon-web-services - 存储共享资源文件的位置
- ios - PromiseKit 无法在链中命中
- sql - 当一个结果的值为 0 时,SQL 中的公式问题
- c# - 以下正则表达式的 Python 正则表达式
- datetime - 使用特定小时值更新日期时间变量