add range port support for forwarder node

This commit is contained in:
ginuerzh
2023-11-14 19:41:57 +08:00
parent ca1f44d93c
commit d7b7ac6357
12 changed files with 133 additions and 73 deletions

View File

@ -50,12 +50,13 @@ func (l *rudpListener) Init(md md.Metadata) (err error) {
if xnet.IsIPv4(l.options.Addr) {
network = "udp4"
}
laddr, err := net.ResolveUDPAddr(network, l.options.Addr)
if err != nil {
return
if laddr, _ := net.ResolveUDPAddr(network, l.options.Addr); laddr != nil {
l.laddr = laddr
}
if l.laddr == nil {
l.laddr = &bindAddr{addr: l.options.Addr}
}
l.laddr = laddr
l.router = chain.NewRouter(
chain.ChainRouterOption(l.options.Chain),
chain.LoggerRouterOption(l.logger),
@ -116,3 +117,15 @@ func (l *rudpListener) Close() error {
return nil
}
type bindAddr struct {
addr string
}
func (p *bindAddr) Network() string {
return "tcp"
}
func (p *bindAddr) String() string {
return p.addr
}