2013-02-06 124 views

回答

3

你必須使用fcntl來設置你的nServerSocket非阻塞;

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

一旦你這樣做了,在該套接字上調用accept()不應再阻塞。

+2

被警告,您接受的套接字將繼承非阻塞狀態。如果你不希望它們是非阻塞的,你必須清除它們上的'O_NONBLOCK'。 –