微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

问题:

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

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

解决方法

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

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

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

原文地址:https://www.jb51.cc/c/118829.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐