network-programming - 使用inetd 还是不使用inetd...我什么时候应该将inetd 用于我的网络服务器程序?

标签 network-programming inetd

任何人都可以给出一组简明的现实世界考虑因素,以决定是否使用 inetd 来管理充当网络服务器的程序?

(如果使用inetd,我认为它改变了程序中对网络代码的要求,所以我认为它绝对是与编程相关的,而不是一般的IT)

这个问题基于我见过的一个实现,它使用一个由 inetd 管理的控制程序来启动一个网络监听器,然后该监听器将永远运行并承受恒定和沉重的负载。它似乎不太适合教科书 inetd 使用配置文件(按需、不常使用、轻量级),并让我对更一般的问题感兴趣。

最佳答案

这取决于您的服务的使用模式。如果您的守护程序的启动时间很短,并且您希望它很少使用,那么 inted 可能是一个不错的选择。它减少甚至消除了编写任何额外网络代码的需要。

如果您的守护进程更重量级或更频繁使用,您最好单独编写它。你可以很容易地写一个 init.d脚本和一些 conf.d配置与之相配,管理员管理起来也不会更难。现在大多数编程语言都有易于使用的套接字库,因此在许多情况下,网络代码甚至可能并不那么困难。

根据我的经验,我发现现在很少有管理员熟悉 inetd。大多数守护进程只提供自己的初始化脚本。事实上,在我管理的几百个系统中,我想不出一个通过 inetd 启动任何东西的系统。这是值得考虑的事情。

关于network-programming - 使用inetd 还是不使用inetd...我什么时候应该将inetd 用于我的网络服务器程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/390847/

相关文章:

linux - 为什么netstat显示错误的外部地址?

linux - 文件传输后终止 TFTPD

perl - 使用 STDIN/STDOUT 作为套接字

c++ - 当守护进程通过 inetd 运行时,xerces-c 库函数返回 NULL

java - 虫洞攻击实现-传感器

java - 如何在java中禁用证书验证

network-programming - 如何从 Android 应用程序将 UDP 数据包发送到 MAC 地址?

c - Accept() 传递 Accept 的参数 3 使指针指向整数而不进行强制转换

c - 从套接字描述符恢复 IP/端口