我需要實現某種首先等待用戶連接的服務器。我使用C++和SDL_Net,並且我的代碼當前在循環中檢查套接字活動。問題是,消耗大量的CPU性能實際上沒有做任何事情,所以我想知道是否有辦法檢測事件或某種回調註冊的連接請求/套接字活動?我不害怕WinAPI,所以我們歡迎任何解決方案。 謝謝你在前進,檢測沒有循環的連接請求
文森特
我需要實現某種首先等待用戶連接的服務器。我使用C++和SDL_Net,並且我的代碼當前在循環中檢查套接字活動。問題是,消耗大量的CPU性能實際上沒有做任何事情,所以我想知道是否有辦法檢測事件或某種回調註冊的連接請求/套接字活動?我不害怕WinAPI,所以我們歡迎任何解決方案。 謝謝你在前進,檢測沒有循環的連接請求
文森特
您可以使用SDLNet_SocketSet
,創建一個,然後用SDLNet_CheckSockets
和SDLNet_SocketReady
什麼套接字API您使用的? Winsock的?如果是這樣,您需要在套接字上調用listen()
以等待傳入連接。這個調用會阻塞調用線程,所以在等待時沒有使用CPU時間。
查看http://msdn.microsoft.com/en-us/library/ms738545(v=vs.85).aspx瞭解更多詳情。
感謝檢查,它的工作,不知道爲什麼我沒有試過呢! – Vincent 2011-01-28 14:49:56