服务器 - 同步I / O多路复用(套接字)

时间:2012-02-12 09:33:16

标签: c sockets libevent

我在C / Linux中实现了一个使用TCP套接字的聊天服务器。它当前正在使用单个进程并使用select()来阻止服务器阻塞。我已经读过select()是一个非常慢的方法,我希望将服务器升级到更高效的版本。

我目前正在考虑libevent,但我希望有设计快速服务器代码经验的人可以给我一些关于可用的最快技术的指示。解放是一个可靠的选择还是我应该研究一些更好的东西?

我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:1)

对于Linux(仅限),您可以使用epoll,这在大多数情况下会更快(但不是全部)。

epoll的主要缺点是它仅在Linux OS上受支持(不可移植)。

在摘要说明中,epoll可以监视大量描述符,并返回更改的列表(不需要传递所有原始描述符列表)。