高效的网络服务器设计实例,用C语言编写

时间:2009-05-07 12:28:41

标签: c linux performance multithreading network-programming

我有兴趣学习如何编写极其高效的网络服务器软件,我不介意用指针,套接字和线程弄脏手。我说的是能够处理数千个并发连接的服务器。每个客户都没有太多的处理,但有一点。

您是否了解真正高效的网络服务器的任何代码示例?

可选择指出跨平台的小型,文档齐全的代码。

6 个答案:

答案 0 :(得分:5)

你会在Dan Kegel的The C10K problem页面上找到很多关于构建高度可扩展的网络服务器的好参考和讨论。

答案 1 :(得分:1)

这可能并不完全符合您的要求,但我简要回忆一下几年前看太空暴君并认为它听起来很酷。

http://librenix.com/?inode=6240

希望它有所帮助!

答案 2 :(得分:1)

答案 3 :(得分:1)

答案 4 :(得分:1)

对于一些流行的高性能http服务器,请查看nginxlighttpdvarnish

BTW,我目前正致力于将边缘触发的epoll与多线程(以及用户级交换上下文样式的线程/光纤)结合起来 - 请参阅 http://svn.cmeerw.net/src/nginetd/trunk/了解一些正在进行的代码(虽然这个是用C ++编写的。

答案 5 :(得分:1)

ACE是明智的选择。