}
if !cl.config.DisableTCP {
var l net.Listener
- l, err = net.Listen("tcp", listenAddr())
+ l, err = net.Listen(func() string {
+ if cl.config.DisableIPv6 {
+ return "tcp4"
+ } else {
+ return "tcp"
+ }
+ }(), listenAddr())
if err != nil {
return
}
go cl.acceptConnections(l, false)
}
if !cl.config.DisableUTP {
- cl.utpSock, err = utp.NewSocket(listenAddr())
+ cl.utpSock, err = utp.NewSocket(func() string {
+ if cl.config.DisableIPv6 {
+ return "udp4"
+ } else {
+ return "udp"
+ }
+ }(), listenAddr())
if err != nil {
return
}