如果已经回答了这个问题,但我找不到它。困惑于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