在本地主机上,如何选择空闲端口号?

2024-04-19 15:13:14 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

为了让大家了解一下上面的解释:

import socket
from contextlib import closing

def find_free_port():
    with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
        s.bind(('', 0))
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        return s.getsockname()[1]

不要绑定到特定端口,或绑定到端口0,例如sock.bind(('', 0))。然后操作系统会为您选择一个可用的端口。您可以使用sock.getsockname()[1]获取选择的端口,并将其传递给从属服务器,以便它们可以重新连接。

将套接字绑定到端口0。将选择1024到65535之间的随机空闲端口。您可以在bind()之后用getsockname()检索所选端口。

相关问题 更多 >