これは私が使用しているステートメントです:
m_stat_arr_nClient_sockfd[nIndex]= accept(nServerSocket,(struct sockaddr *)&client_address, (socklen_t *)&client_len);
これはブロッキング呼び出しですが、どうすればこれを非ブロッキングにすることができますか?
非ブロッキングfcntl
を設定するには、を使用する必要があります。nServerSocket
int flags = fcntl(nServerSocket, F_GETFL, 0);
fcntl(nServerSocket, F_SETFL, flags | O_NONBLOCK);
それが完了すると、accept()
そのソケットでの呼び出しはブロックされなくなります。