所述协议非常简单 - 一些基本的JSON格式消息,这些消息在一些基本的帧包装中传输,以便客户端知道消息完整到达并准备好解析。
该守护进程将需要处理许多连接(大约200个同时)并对它们进行一些管理,并传递消息,就像在聊天室中一样。
在过去,我主要使用C ++编写我的守护进程。通常使用Qt4框架(网络部分,而不是GUI部分!),因为这也是我用于其他项目的工具,而且很容易做到并且非常可移植。这通常运行良好,没有太多麻烦。
作为一名Linux管理员已经有一段时间了,我注意到野外的大多数网络守护进程都是用纯C编写的(当然还有其他语言编写的,但我感觉>80%的守护进程都是用纯C编写的)。
现在我想知道为什么会这样。这是由于纯历史UNIX背景(如KISS)还是为了纯可移植性或减少膨胀?为什么不使用C ++或任何“更高级”的语言来编写守护进程?
提前致谢!
更新1:
对我来说,通常使用C ++更方便,因为我有getter和setter方法等“对象”。纯C的“上下文”对象在某些情况下可能会非常麻烦 - 特别是当您习惯面向对象编程时。
是的,我知道C ++是C的超集,并且可以用C ++编译器编译任何C代码。但这不是重点。;)
更新2:
我知道现在使用高级(脚本)语言如Python、node.js或类似语言可能更有意义。我过去曾这样做过,并且我知道这样做的好处(至少我希望我知道;) - 但这个问题只涉及C和C ++。