检查当前端口是否被占用,并返回一个可用端口
(checkPort int, step int)
| 106 | |
| 107 | // 检查当前端口是否被占用,并返回一个可用端口 |
| 108 | func CheckAndGetAvailableLocalPort(checkPort int, step int) (usablePort int, err error) { |
| 109 | if step <= 0 { |
| 110 | step = 100 |
| 111 | } |
| 112 | usablePort = checkPort |
| 113 | |
| 114 | isPortUnable := false |
| 115 | for !isPortUnable { |
| 116 | isPortAvailable, err0 := IsPortAvailable(usablePort) |
| 117 | err = err0 |
| 118 | if !isPortAvailable { |
| 119 | usablePort += 100 |
| 120 | } else { |
| 121 | isPortUnable = true |
| 122 | } |
| 123 | } |
| 124 | |
| 125 | return |
| 126 | } |
| 127 | |
| 128 | func isErrorAddressAlreadyInUse(err error) bool { |
| 129 | var eOsSyscall *os.SyscallError |
nothing calls this directly
no test coverage detected