2011-08-08 39 views
0

我的應用程序需要偵聽來自命令行的用戶的鍵盤輸入以及在單個循環中同時偵聽套接字上的數據。這個應用程序目前運行在Linux上,通過使用選擇和添加標準輸入和網絡套接字到給定的fd_set數組列表可輕鬆實現上述選擇呼叫。根據活動,應用程序可以處理用戶輸入或套接字上的數據。Windows同時偵聽套接字和命令行輸入

現在我正在將此應用程序移植到Windows,並且我對Windows不是很熟悉。在Windows中如何實現上述功能?這是監聽stdin以及套接字上的活動。任何指針讚賞。

+0

我能夠通過以下方式解決這個問題。使用WaitForMultipleObjects()api。對於此API,使用STD_INPUT控制檯句柄的句柄。對於您感興趣的每個套接字,創建一個WSACreateEvent並將其添加到傳遞給WaitForMultipleObjects()API的句柄數組中。 – sthustfo

回答

0

我能夠通過以下方式解決這個問題。

使用WaitForMultipleObjects()api。 對於此API,使用STD_INPUT控制檯句柄的句柄。 對於您感興趣的每個套接字,創建一個WSACreateEvent並將其添加到傳遞給WaitForMultipleObjects()API的句柄數組中。

當WaitForMultipleObjects()API返回時,您可以找出檢測到活動的句柄並相應地採取行動。