绑定到本地IP地址时I / O超时

时间:2018-11-29 06:30:23

标签: go networking ipv6

因此,我绑定了一个本地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,
        },
    }

这将因I / O超时而出现紧急情况。我不确定为什么会发生这种情况,因为此代码昨天在起作用。我能想到的唯一原因是我在网络接口上添加了数千个IP地址,这是否可能导致超时,并且有人知道任何解决方案吗?

编辑:
错误消息:

Get https://myip.addr.space: dial tcp [myip]:0->[2607:5300:203:118:1:0:3:8b50]:443: i/o timeout

0 个答案:

没有答案