fix: udp loopback show "The requested address is not valid in its context."
This commit is contained in:
parent
e9bd99c819
commit
aec1b116b1
1 changed files with 6 additions and 1 deletions
|
@ -347,7 +347,12 @@ func (d Dialer) DialContext(ctx context.Context, network, address string) (net.C
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d Dialer) ListenPacket(ctx context.Context, network, address string, rAddrPort netip.AddrPort) (net.PacketConn, error) {
|
func (d Dialer) ListenPacket(ctx context.Context, network, address string, rAddrPort netip.AddrPort) (net.PacketConn, error) {
|
||||||
return ListenPacket(ctx, ParseNetwork(network, rAddrPort.Addr()), address, WithOption(d.Opt))
|
opt := WithOption(d.Opt)
|
||||||
|
if rAddrPort.Addr().Unmap().IsLoopback() {
|
||||||
|
// avoid "The requested address is not valid in its context."
|
||||||
|
opt = WithInterface("")
|
||||||
|
}
|
||||||
|
return ListenPacket(ctx, ParseNetwork(network, rAddrPort.Addr()), address, opt)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDialer(options ...Option) Dialer {
|
func NewDialer(options ...Option) Dialer {
|
||||||
|
|
Loading…
Reference in a new issue