我正在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返回.

Python相关问答推荐

aiohTTP与pytest的奇怪行为

使用Python进行网页抓取,没有页面

在Python中使用一行try

按 struct 值对Polars列表[struct[]]排序

Twilio:CallInstance对象没有来自_的属性'

如何终止带有队列的Python进程?+ 队列大小的错误?

symy.分段使用numpy数组

如何销毁框架并使其在tkinter中看起来像以前的样子?

使用scipy. optimate.least_squares()用可变数量的参数匹配两条曲线

在Python中对分层父/子列表进行排序

我从带有langchain的mongoDB中的vector serch获得一个空数组

将特定列信息移动到当前行下的新行

难以在Manim中正确定位对象

使用索引列表列表对列进行切片并获取行方向的向量长度

在Python Attrs包中,如何在field_Transformer函数中添加字段?

从dict的列中分钟

Python列表不会在条件while循环中正确随机化'

与命令行相比,相同的Python代码在Companyter Notebook中运行速度慢20倍

处理具有多个独立头的CSV文件

LocaleError:模块keras._' tf_keras. keras没有属性__internal_'''