小编典典

在 localhost 上,我如何选择一个空闲端口号?

all

我正在尝试使用进程间通信,因为我不知道如何在 Windows 下使用命名管道,所以我想我会使用网络套接字。一切都发生在本地。服务器能够在单独的进程中启动从属服务器并监听某个端口。奴隶做他们的工作并将结果提交给主人。我如何确定哪个端口可用?我假设我无法在端口 80 或 21 上监听?

我正在使用 Python,如果这样可以减少选择。


阅读 101

收藏
2022-07-14

共1个答案

小编典典

不要绑定到特定端口。相反,绑定到端口 0:

import socket
sock = socket.socket()
sock.bind(('', 0))
sock.getsockname()[1]

然后操作系统将为您选择一个可用的端口。您可以使用 获取选择的端口sock.getsockname()[1],并将其传递给从属设备,以便它们可以连接回来。

sock是您创建的套接字,由socket.socket.

2022-07-14