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