@@ -276,6 +276,7 @@ func (d *RDial) AnnounceUDP(network, local string) (*net.UDPConn, error) {
276276 return AnnounceUDP (d , network , local )
277277}
278278
279+ // AnnounceUDP announces the local address. network must be "udp" or "udp4" or "udp6".
279280func AnnounceUDP (d RDialer , network , local string ) (* net.UDPConn , error ) {
280281 if c , err := d .Announce (network , local ); err != nil {
281282 return nil , err
@@ -295,14 +296,15 @@ func (d *RDial) AcceptTCP(network string, local string) (*net.TCPListener, error
295296 return AcceptTCP (d , network , local )
296297}
297298
298- func AcceptTCP (d RDialer , network string , local string ) (* net.TCPListener , error ) {
299- if ln , err := d .Accept (network , local ); err != nil {
299+ // AcceptTCP creates a listener on localaddr. network must be "tcp" or "tcp4" or "tcp6".
300+ func AcceptTCP (d RDialer , network string , localaddr string ) (* net.TCPListener , error ) {
301+ if ln , err := d .Accept (network , localaddr ); err != nil {
300302 return nil , err
301303 } else if tl , ok := ln .(* net.TCPListener ); ok {
302304 return tl , nil
303305 } else {
304306 log .T ("xdial: AcceptTCP: (%s) from %s, %T is not %T (ok? %t); other errs: %v" ,
305- d .ID (), local , ln , tl , ok , err )
307+ d .ID (), localaddr , ln , tl , ok , err )
306308 clos (ln )
307309 return nil , errNoTCPMux
308310 }
0 commit comments