我正在开发一个需要在Internet服务器上运行的程序(一个后端组件将被多个跨平台程序使用).我熟悉要采取的安全预防措施(例如,防止缓冲区溢出和sql注入攻击),但之前从未编写过服务器程序,或者在此规模上使用的任何程序.
该计划需要能够同时为数百或数千个客户提供服务.协议设计用于处理速度和最小化必须交换的数据量,服务器端将用C语言编写.将有相同代码的Windows和Linux版本.
问题:
>程序应该如何处理通信 – 多个线程,依次处理所有套接字的单个线程,或者为每个这么多的传入连接(或每个传入连接)生成一个新进程?
>我是否需要担心内存碎片等问题,因为这个程序需要一次运行几个月?
>针对桌面和移动系统的跨平台程序的经验丰富的开发人员可能不知道哪些其他设计问题(特定于此类编程)?
请不要使用其他语言的建议.我已经做出了这个决定,原因是我不能自由进入.