对recv()感到困惑

Fan*_*ier 1 c sockets client recv

请原谅,如果这个问题已得到解答,但我找不到.

我有点困惑recv()recvfrom().一旦服务器绑定地址(或接受TCP的连接),recv()就会被调用.是否recv()经常检查已发送的消息或是否等到收到消息?如果等待,等待时间有多长?

不确定我是否有意义,但如果有人能够启发我,我将不胜感激.

cod*_*ict 5

如果套接字上没有可用的消息O_NONBLOCK且未在套接字的文件描述符上设置,则recv()将阻塞,直到消息到达.

如果套接字上没有可用的消息并且在O_NONBLOCK套接字的文件描述符上设置,则recv()将失败并将errno设置为[ EAGAIN]或[ EWOULDBLOCK].

资料来源:http://www.opengroup.org/onlinepubs/009695399/functions/recv.html