【发布时间】:2016-09-26 21:40:41
【问题描述】:
我在等待客户回复时遇到了一个小问题。代码如下所示:
num_bytes_received = recv(recvFD, line, MAX_LINE_SIZE-1, 0);
if(line[0] == 'R')
{
do_something();
}
if(line[0] == 'P')
{
do_another_thing();
}
有什么简单的方法可以等待消息,比如说 30 秒,如果没有消息,执行 do_another_thing();功能?这不是连接问题的情况(例如客户端断开连接等)。这是我自己想要创造的限制。
【问题讨论】:
-
您可以使用
select和超时来等待套接字上的活动。或setsockopt使用SO_RCVTIMEO。