如果我在非阻塞套接字上使用recv(sockfd, buffer, len, 0);
會發生什麼情況?linux recv()函數標誌參數?
如果插座sockfd
已關閉或無法讀取,recv()
是否會阻止? (注意:recv()
中的標誌是0
)。
如果我在非阻塞套接字上使用recv(sockfd, buffer, len, 0);
會發生什麼情況?linux recv()函數標誌參數?
如果插座sockfd
已關閉或無法讀取,recv()
是否會阻止? (注意:recv()
中的標誌是0
)。
如果套接字被標記爲非阻塞,recv將永遠不會阻塞。期。
如果套接字很好,但沒有要讀取的數據,您將得到-1作爲返回值,並將errno設置爲EAGAIN。
如果有錯誤(關閉套接字等),您仍然會得到-1返回值,但是errno將被設置爲適當的值。
如果沒有東西要讀取,它會阻塞,如果套接字關閉,它將返回一個錯誤。
除非套接字被標記爲非阻塞,他說這是:-) – gby 2011-06-02 07:03:36