令人驚訝的是,我有一個很難找到一個答案..Linux的C++ TCP套接字 - 啓用禁止模式
我有一個TCP客戶端套接字,我可以成功地連接,並通過發送數據。但是,在發送數據之後,我期待從服務器返回響應。我檢查了我的套接字,看起來它處於非阻塞模式。
if (fcntl(sc->connect_d, F_GETFL) && O_NONBLOCK)
{
//non blocking
}
什麼是啓用阻塞模式的宏,所以我可以讀取服務器響應更容易一點?有人可以給我一個可以做到這一點的小片段嗎?謝謝
possible dup http://stackoverflow.com/questions/1543466/how-do-i-change-a-tcp-socket-to-be-non-blocking –
我已經看過這個,我想改變我的套接字TO阻塞,而不是阻塞 – tier1
其中一個答案給了一個跨平臺的幫手,通過調用fcntl(fd,F_SETFL,flags)設置套接字的阻塞模式... –