我在等待客户响应方面遇到了一个小问题。代码如下所示:
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();功能?这不是连接问题的情况(如客户端断开连接等)。这是我想要创建的限制。
答案 0 :(得分:2)
你可以使用select()和超时。
unsent_requests = []
for param in params: # assume params is a list containing different parameters or query strings
unsent_requests.append(grequests.get(url = url, params = param))
responses = grequests.map(unsent)