random_port.go 267 B

12345678910111213141516
  1. package network
  2. import "net"
  3. func GetRandomPort() (uint16, error) {
  4. // generate a random port
  5. listener, err := net.Listen("tcp", ":0")
  6. if err != nil {
  7. return 0, err
  8. }
  9. listener.Close()
  10. port := listener.Addr().(*net.TCPAddr).Port
  11. return uint16(port), nil
  12. }