我正在尝试使用进程间通信,因为我不知道如何在 Windows 下使用命名管道,所以我想我会使用网络套接字。一切都发生在本地。服务器能够在单独的进程中启动从属服务器并监听某个端口。奴隶做他们的工作并将结果提交给主人。我如何确定哪个端口可用?我假设我无法在端口 80 或 21 上监听?
我正在使用 Python,如果这样可以减少选择。
不要绑定到特定端口。相反,绑定到端口 0:
import socket sock = socket.socket() sock.bind(('', 0)) sock.getsockname()[1]
然后操作系统将为您选择一个可用的端口。您可以使用 获取选择的端口sock.getsockname()[1],并将其传递给从属设备,以便它们可以连接回来。
sock.getsockname()[1]
sock是您创建的套接字,由socket.socket.
sock
socket.socket