我已经编写了一个将在嵌入式设备上运行的应用程序。安装是非常小的,使用的是忙碌箱和不多的其他东西。软件的一部分包括接受传入TCP/IP连接的侦听器线程。我使用的端口号在设备/etc/services文件中不存在,所以我知道这个端口是可用的,但是我想知道我是否需要以某种方式注册这个端口,这样就没有其他实用程序能够使用它了?有什么明确的,我需要自己注册一个侦听端口,或者套接字系统功能将处理所有这些为我在幕后?或者,我希望使用的端口在/etc/services中不存在,这是否意味着我根本不必担心我的应用程序的这个方面?
发布于 2013-03-20 11:09:22
/etc/services仅用于服务名称解析。除非您想按名称引用您的端口,否则不需要更新该文件。但是,您可能希望添加它,如果只是为了您自己的理智。
在选择端口号时,您可能需要考虑以下几点:
root可以绑定到<1024端口。这是为了保护敏感的系统端口(例如ssh的端口22 )被机会主义的用户进程破坏。如果您的代码成功地绑定到端口,则没有其他非root进程可以使用它.
https://unix.stackexchange.com/questions/68549
复制相似问题