0

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

现在我正在将此应用程序移植到 Windows,但我对 Windows 不是很熟悉。在Windows中如何实现以上功能?那是监听标准输入和套接字上的活动。任何指针表示赞赏。

4

1 回答 1

0

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

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

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

于 2011-08-17T09:59:35.060 回答