求高性能网络服务程序!

FengSC 2005-07-29 03:48:41
最近写了一个服务程序,使用阻塞方式,开始时工作比较稳定,后来业务多了,常出现好几百个同时连接,服务程序常常崩溃。现在想写一个新的非阻塞的事件驱动方式的服务程序,请大家给点方案和注意事项,要是有参考代码就更加感谢了。
...全文
152 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
FengSC 2005-08-01
请提供重叠IO、完成端口、IPCP等的概念,以及各自的好处
回复
qrlvls 2005-07-30
单就服务器性能而言,用linux确实会要好一些,至少在同等工作量的情况下会好一些
用 Windows 的话可以使用重叠IO + 完成端口,通过多服务器负载均衡也可以实现大量连接
回复
ExtUSA 2005-07-30
服务程序常常崩溃这个问题就是提醒你注意程序的稳定性、强壮性而不只是IOCP的网络部分做得不好。

并发量现在已经有成熟的IOCP等解决方法了。现在考验的是程序内在的品质问题了-还是老办法,靠经验丰富的人来加强系统。
回复
ExtUSA 2005-07-30
不管你在什么平台下做win32或者linux最需要考虑的是设计良好的系统架构,所以请个有经验的架构师才是系统成功的关键。

win32平台已经是经过网络游戏市场考验的成熟商业平台。linux则在棋牌类游戏近来有些应用。
回复
lianglp 2005-07-30
to: alec626(月吻长河)
为什么这样说呢?在windows下也不是差很多吧。
就建立服务器性能来说,你有那些数据说明linux下服务器肯定比windows下好呢,
本人觉得关键还是看个人或架构人员水平问题吧。
回复
oyljerry 2005-07-30
采用高效率服务模型IOCP好了
回复
fisker0303 2005-07-30
试试IOCP吧,应该可以。
回复
ExtUSA 2005-07-30
建议考虑如下几条:

1、不合理的整体架构;
2、不合理使用线程;
3、诸多原因导致内存泄露;
4、硬件如CPU太少等。
回复
月吻长河 2005-07-29
并发服务器就不要在Win32下搞了。
选择Linux或者Unix,
用ACE来开发
回复
zhangshengyu 2005-07-29
SDK 里就有一个很好的完成端口模型。
回复
AntonlioX 2005-07-29
http://www.vckbase.com/code/downcode.asp?id=2619
IOCP完成端口模型示例代码
回复
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-07-29 03:48
社区公告
暂无公告