如果已經回答了這個問題,但我找不到它。困惑於recv()
我有點糊塗recv()
和recvfrom()
。一旦服務器綁定地址(或接受TCP連接),recv()
被調用。 recv()
是否經常檢查已發送的郵件或等待收到郵件?如果確實等待,等待時間有多長?
不知道我是否有道理,但如果有人能啓發我,我會很感激。
如果已經回答了這個問題,但我找不到它。困惑於recv()
我有點糊塗recv()
和recvfrom()
。一旦服務器綁定地址(或接受TCP連接),recv()
被調用。 recv()
是否經常檢查已發送的郵件或等待收到郵件?如果確實等待,等待時間有多長?
不知道我是否有道理,但如果有人能啓發我,我會很感激。
如果沒有消息可在插座和
O_NONBLOCK
上沒有套接字的文件描述符設置,recv
()將阻塞,直到消息到達。如果可能沒有消息在插座和
O_NONBLOCK
被設置在套接字的文件描述符,recv
()失敗,將errno設置爲[EAGAIN
]或[EWOULDBLOCK
。
來源:http://www.opengroup.org/onlinepubs/009695399/functions/recv.html
注意,您可以使用select()或poll(),它也可以讓你等待多個插座一次執行超時。
謝謝,我以爲我徹底閱讀,但顯然不夠。 – 2010-03-02 11:45:17