Windows同时侦听套接字和命令行输入

时间:2011-08-08 10:39:08

标签: winsock2

我的应用程序需要从命令行监听用户的键盘输入,以及在单个循环中同时监听套接字上的数据。这个应用程序目前在linux上运行,通过使用select和将stdin和网络套接字添加到fd_set数组列表中,可以轻松实现上述选择调用。根据活动的不同,应用程序可以处理用户输入或套接字上的数据。

现在我将此应用程序移植到Windows,我对Windows不是很熟悉。如何在Windows中实现上述目标?那就是在stdin和socket上监听活动。任何指针都赞赏。

1 个答案:

答案 0 :(得分:0)

我能够通过以下方式解决这个问题。

使用WaitForMultipleObjects()api。 对于此API,请使用STD_INPUT控制台句柄的句柄。 对于您感兴趣的每个套接字,创建一个WSACreateEvent并将其添加到传递给WaitForMultipleObjects()API的句柄数组中。

当WaitForMultipleObjects()API返回时,您可以找到检测到活动的句柄并相应地采取行动。