用于读取的套接字可用数据

时间:2009-11-26 22:01:04

标签: c++ windows sockets

我需要快速方法检查套接字是否有可供读取的数据。 我使用select(),但速度不快。 存在更快的方法吗?

2 个答案:

答案 0 :(得分:2)

由于需要重建fd_set以及它给出结果的方式,

select()会因大套接字套件而降级。

Linux上的epoll()API可能是我最喜欢的处理多个套接字的方法。您可以快速浏览一下,但它在Windows上不可用。

我认为select()在具有许多套接字的Windows上的限制的唯一方法是使用IO完成端口。

答案 1 :(得分:0)

您需要在Windows上使用完成端口。有许多关于如何使用它们的在线文章。