***背景**** 私は TCP を初めて使用するので、少し基本的な質問があります。データを受信しているソケットで O_NONBLOCK をオンにしようとしています。これまで、O_NONBLOCK、itcl()、および fcntl() を設定するさまざまな方法を試してきました。現在、fcntl() を機能させようとしています。
私の質問: ソケットを接続する前または後に O_NONBLOCK を設定することになっていますか?
**私の現在の fcntl() の実装は、コードの前のリンクに基づいています:
ソケットをブロック モードにリセットする方法 (非ブロック モードに設定した後)。
//set socket to NONBlocking
on = fcntl(Socket,F_GETFL);
on = (on | O_NONBLOCK);
if(fcntl(Socket,F_SETFL,on) < 0)
{
perror("turning NONBLOCKING on failed\n");
}
// DO CONNECT
rc = connect()
ご覧いただきありがとうございます。