我正在尝试使用特定的源IP端口,但是net.DialTimeout没有laddr参数
my_dial, err := net.DialTimeout("tcp", addr, 3*time.Second)
conn := tls.Client(my_dial, tlsconf)
然后我检查了文档,唯一支持laddr
的方法是:
func DialIP(network string, laddr, raddr *IPAddr) (*IPConn, error)
但是它返回net.IPConn而不是net.Conn。
有什么想法吗?
答案 0 :(得分:0)
Dial
和DialTimeout
只是net.Dialer
类型的帮助者,其中记录了所有可用的选项。
您可以设置本地地址和超时。 Dialer
还有一个DialContext
方法可以直接使用上下文,而不是根据需要使用超时。
d := net.Dialer{
LocalAddr: lAddr,
Timeout: timeout,
}
conn, err := d.Dial(network, address)
...