我正在创建一个可以通信的“智能”组件库。可以使用主控制器进程,它可以创建进程或启动包含通信器的服务。创建的实体由 master 分配一个端口号,然后可以使用 http 向它发送 XML 消息。我的问题是这样的:假设主对象崩溃并重新启动。我可以遍历服务和进程并匹配名称,但是如何恢复分配给子进程/服务的端口号?
我考虑将一对列表 - 进程 ID 和端口号 - 写入一个可以在启动时重新加载的隐藏文件,但因为进程 ID 不一定是唯一的(仅在进程本身的持续时间内),这似乎并不可靠。我可以从进程中检索端口号,因为我可以只查询用于创建它的参数数组,但这不适用于service。关于可以将每个孩子的端口号隐藏在哪里以便我可以恢复它的任何想法?