github.com/moqsien/xraycore@v1.8.5/testing/servers/tcp/port.go (about) 1 package tcp 2 3 import ( 4 "github.com/moqsien/xraycore/common" 5 "github.com/moqsien/xraycore/common/net" 6 ) 7 8 // PickPort returns an unused TCP port in the system. The port returned is highly likely to be unused, but not guaranteed. 9 func PickPort() net.Port { 10 listener, err := net.Listen("tcp4", "127.0.0.1:0") 11 common.Must(err) 12 defer listener.Close() 13 14 addr := listener.Addr().(*net.TCPAddr) 15 return net.Port(addr.Port) 16 }