3

これは私が使用しているステートメントです:

m_stat_arr_nClient_sockfd[nIndex]= accept(nServerSocket,(struct sockaddr *)&client_address, (socklen_t *)&client_len);

これはブロッキング呼び出しですが、どうすればこれを非ブロッキングにすることができますか?

4

1 に答える 1

4

非ブロッキングfcntlを設定するには、を使用する必要があります。nServerSocket

int flags = fcntl(nServerSocket, F_GETFL, 0);
fcntl(nServerSocket, F_SETFL, flags | O_NONBLOCK);

それが完了すると、accept()そのソケットでの呼び出しはブロックされなくなります。

于 2013-02-06T12:28:08.607 に答える