add timeout for udp and tcp dialer

This commit is contained in:
keatonLiu 2023-12-10 23:56:13 +08:00
parent 42b6ae9052
commit 956a14ee21

View file

@ -517,7 +517,7 @@ func (proxy *Proxy) exchangeWithUDPServer(
var pc net.Conn var pc net.Conn
proxyDialer := proxy.xTransport.proxyDialer proxyDialer := proxy.xTransport.proxyDialer
if proxyDialer == nil { if proxyDialer == nil {
pc, err = net.DialUDP("udp", nil, upstreamAddr) pc, err = net.DialTimeout("udp", upstreamAddr.String(), serverInfo.Timeout)
} else { } else {
pc, err = (*proxyDialer).Dial("udp", upstreamAddr.String()) pc, err = (*proxyDialer).Dial("udp", upstreamAddr.String())
} }
@ -560,7 +560,7 @@ func (proxy *Proxy) exchangeWithTCPServer(
var pc net.Conn var pc net.Conn
proxyDialer := proxy.xTransport.proxyDialer proxyDialer := proxy.xTransport.proxyDialer
if proxyDialer == nil { if proxyDialer == nil {
pc, err = net.DialTCP("tcp", nil, upstreamAddr) pc, err = net.DialTimeout("tcp", upstreamAddr.String(), serverInfo.Timeout)
} else { } else {
pc, err = (*proxyDialer).Dial("tcp", upstreamAddr.String()) pc, err = (*proxyDialer).Dial("tcp", upstreamAddr.String())
} }