我有需要在一段時間內一些數據發送到服務器的應用程序。簡單的方法是關閉連接,然後在我想發送內容時再打開它。但我要保持連接打開,所以當我要發送數據時,我第一次使用此功能檢查連接:檢查套接字連接或不
bool is_connected(int sock)
{
unsigned char buf;
int err = recv(sock,&buf,1,MSG_PEEK);
return err == -1 ? false : true;
}
壞的部分是,這是行不通的。當沒有數據要接收時它會掛起。我能做什麼?我如何檢查連接是否仍然打開?
http://stackoverflow.com/questions/4142012/how-to-find-the-socket-connection-state-in-c – BoBTFish