如何为我的自定义应用程序保留端口列表?
具体来说,我正在创建的产品有很多流程,并且它们之间有很多交互。
我遇到的问题是——每隔一段时间——操作系统就会窃取我的端口。这是罕见的,但它发生了。
这可能是因为不同的应用程序使用了未指定端口的“::bind”。
有时,当我使用未绑定的套接字调用“::connect”时,我自己的应用程序会窃取端口。从手册页中可以看出:
如果套接字尚未绑定到本地地址,connect() 会将其绑定到一个地址,除非套接字的地址族是 AF_UNIX,否则该地址是未使用的本地地址。
所以我的问题是,我可以保留我需要的端口以便操作系统不使用它们吗?这可以通过 /etc/services 完成吗?或者有不同的方法吗?