port.go 311 B

123456789101112131415161718
  1. package udp
  2. import (
  3. "v2ray.com/core/common"
  4. "v2ray.com/core/common/net"
  5. )
  6. func PickPort() net.Port {
  7. conn, err := net.ListenUDP("udp4", &net.UDPAddr{
  8. IP: net.LocalHostIP.IP(),
  9. Port: 0,
  10. })
  11. common.Must(err)
  12. defer conn.Close()
  13. addr := conn.LocalAddr().(*net.UDPAddr)
  14. return net.Port(addr.Port)
  15. }