编写程序在服务器上运行,请求经验丰富的建议

我正在开发一个需要在Internet服务器上运行的程序(一个后端组件将被多个跨平台程序使用).我熟悉要采取的安全预防措施(例如,防止缓冲区溢出和sql注入攻击),但之前从未编写过服务器程序,或者在此规模上使用的任何程序.

该计划需要能够同时为数百或数千个客户提供服务.协议设计用于处理速度和最小化必须交换的数据量,服务器端将用C语言编写.将有相同代码WindowsLinux版本.

问题:

>程序应该如何处理通信 – 多个线程,依次处理所有套接字的单个线程,或者为每个这么多的传入连接(或每个传入连接)生成一个新进程?
>我是否需要担心内存碎片等问题,因为这个程序需要一次运行几个月?
>针对桌面和移动系统的跨平台程序的经验丰富的开发人员可能不知道哪些其他设计问题(特定于此类编程)?

请不要使用其他语言的建议.我已经做出了这个决定,原因是我不能自由进入.

解决方法

根据我运行多个服务器超过3年正常运行时间的经验,以及运行时间不超过一年的程序,我仍然可以建议进行设置,以便系统从程序错误和服务器重启中正常恢复.

即使在重新启动程序时性能受到影响,您也需要能够处理,因为外部环境会强制程序重启.

不要在不需要时尝试重新发明轮子,并查看zeromq或类似的东西来处理传入通信的分配. (如果你被允许,用比Python更宽容的语言对后端进行原型设计,然后在C中重新实现,但保留通信协议)

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...