mat*_*975 2 networking services socket
我编写了一个可以在嵌入式设备上运行的应用程序。安装非常简单,使用busybox而不是其他很多东西。该软件的一部分包括一个接受传入 TCP/IP 连接的侦听器线程。我使用的端口号在设备/etc/services文件中不存在,所以我知道这个端口可用,但我想知道我是否需要以某种方式注册这个端口,以便其他实用程序无法使用它?是否有什么我需要自己做的明确的事情来注册一个监听端口,或者套接字系统函数会在幕后为我处理所有这些吗?或者我希望使用的端口不存在这一事实是否/etc/services意味着我完全不必担心我的应用程序的这一方面?
/etc/services仅用于服务名称解析。除非您想通过名称引用您的端口,否则无需更新文件。但是,您可能无论如何都想添加它,如果只是为了您自己的理智。
在选择端口号时,您可能需要考虑以下几点:
root绑定到 <1024 的端口。这是为了保护敏感的系统端口(例如用于 ssh 的端口 22)被机会性用户进程破坏。如果您的代码成功绑定到该端口,则其他非root进程都无法使用它。