python - ZeroRPC 自动分配空闲端口号

标签 python sockets port zeromq

我正在为一个项目使用 ZeroRPC,其中可能有多个实例在同一台机器上运行。出于这个原因,我需要能够自动分配未使用的端口号。我知道如何使用 socket.bind(('', 0)) 使用常规套接字或使用 bind_to_random_port 方法使用 ZeroMQ 来完成此操作,但我不知道如何使用 ZeroRPC 执行此操作。

既然 ZeroRPC 是基于 ZeroMQ 的,那肯定是可以的。

有什么想法吗?

最佳答案

阅读了有关 ZeroRPC-python 当前状态的详细信息后,解决该任务的最安全选择是创建一个中央 LotterySINGLETON,它将接收 <- REQ/REP-> 根据实例请求发送下一个空闲 port#

这种方法与 ZeroRPC-dev/mod(s) 对使用其他稳定的 ZeroMQ API 的修改隔离开来,并让您完全控制端口#-s pre-configured/included-in/excluded-from LotterySINGLETON 的抽奖。

另一种方法是尝试绕过 ZeroRPC 层并直接向 ZeroMQ 询问下一个随机端口,但是 ZeroRPC 文档不鼓励绕过他们自己强加于(否则是纯的)ZeroMQ 框架元素的控制(这是强调是非常合理的,因为它侵 eclipse 了它的附加操作和服务的 ZeroRPC 层一致性,因此在试验/错误中应该“服从”而不是“挑战”......)

关于python - ZeroRPC 自动分配空闲端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700204/

相关文章:

c - C中选择,为什么会失败?

C# 客户端/服务器 : using Streamreader/writer

node.js - 转发端口从 80 和 443 到 8080

python - Tweepy - 获取转发推文的 ID

python - 如何修改 Procfile 以在 Heroku 的非标准文件夹中运行 Gunicorn 进程?

c# - Socket.UseOnlyOverlappedIO?

java - 如何验证 SQL Server Management Studio 上的端口号?

javascript - Node JS : How to get the server's port?

python - 为什么我的代码无法访问 ENTER 或 STRAIGHT 文件夹或 .png 文件

python - “ImportError:无法导入名称...”-在“导入来源”上引发,但在直接导入时不引发