我正在使用Poco C++庫來設置websocket服務器,客戶端可以連接並將一些數據傳輸到其web界面。所以我有一個連續發送數據的循環,我也希望通過使用receiveFrame()函數來監聽客戶端是否關閉連接,其餘的客戶端完全是被動的,並且不發送任何數據或任何數據。問題是receiveFrame()阻塞了連接,這不是我想要的。我基本上想檢查客戶端是否還沒有調用close()javascript函數,並且如果它有停止流數據。我試過使用Poco C++ websockets - 如何以非阻塞的方式使用?
ws.setBlocking(false);
但是現在receiveFrame在每次調用時都會引發異常。我也嘗試完全移除receiveFrame,如果通過關閉瀏覽器終止連接,但是如果客戶端調用close()函數,服務器仍嘗試向客戶端發送數據,則該方法起作用。那我該如何解決這個問題呢?有沒有辦法來檢查是否有客戶端框架被接收,如果不是隻是繼續?
Select()確實實現我想實現的目標,謝謝! – SilverTear 2014-10-17 11:05:04