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
posted @ 2022-03-12 17:54  专职  阅读(822)  评论(0编辑  收藏  举报