更多投票()?的

再次回来!

我一直在使用select()在Windows上进行一些asynchronous套接字编程,它一直工作得很好。 然而它只能扩展到1024个clients.Poll()是解决这个限制的方法,而且我知道它可以在linux和unix上运行。 但它不适用于Windows系统正确?

我读了WsaPoll(),是否有完全相同的function? 我必须链接哪些库才能使用它?

我可以使用FD_SETSIZE在Windows中安全地增加套接字号吗? 我的最终程序将在Linux服务器上。 不过,我正在Windows系统上testing。 我应该把我的testing机交换到一个linux的盒子? (可能要反正)

否则,你会推荐使用Windows?

(抱歉,所有的问题,我正在自己研究,我保证= D)

WSAPoll()行为像poll() 。 您将需要使用WSAGetLastError来找出错误。 错误代码不匹配,根据WindowsSDK和您的系统版本,posix代码可能会或可能不会在winsock2头中定义。

要使用WSAPoll您必须包含WSAPoll和链接到ws2_32.lib,并在Windows Vista / server 2008上运行应用程序。

然而,在你的代码中使用WSAPoll并不总是阻止它在Windows XP上编译,而当你启动你的应用程序时,你将会得到一个错误。

如果您不打算在Windows上运行您的应用程序,那么我建议您跳过SDK,build,dll和Windows版本的问题,并设置一个Linux虚拟机来开发。

libevent将使用Windows,Linux,Solaris,OS X以及所有BSD衍生产品上的事件驱动编程的最佳可用机制。

在Windows上, WSAAsyncSelect应该允许您在单个线程中处理来自数千个套接字的事件。