golang和python如何动态获取可用端口
go动态获取可用端口
func GetFreePort() (int, error) {
// 动态获取可用端口
addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:0")
if err != nil {
return 0, err
}
fmt.Println(addr.Port) // 0
l, err := net.Listen("tcp", addr.String())
if err != nil {
return 0, err
}
return l.Addr().(*net.TCPAddr).Port, nil
}
python动态获取可用端口
def get_free_tcp_port():
"""获取可用的端口"""
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.bind(("", 0))
_, port = tcp.getsockname()
tcp.close()
return port