gpt4 book ai didi

c - receivefrom:资源暂时不可用。为什么?

转载 作者:行者123 更新时间:2023-11-30 14:51:27 24 4
gpt4 key购买 nike

我多次运行这段代码(对于 UDP 套接字上的非阻塞 recvfrom):

struct timeval read_timeout;
read_timeout.tv_sec = 0;
read_timeout.tv_usec = 1000;
setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &read_timeout, sizeof read_timeout);
ssize_t n = recvfrom(sockfd, recvline, sizeof(recvline), 0, NULL, NULL);
if (n < 0) {
perror("recvfrom");
return -1;
} else // ... normal usage

有时程序会停止,并且我从 perror 收到以下错误

recvfrom: Resource temporarily unavailable

问题可能是什么?

最佳答案

只需修改代码即可完成您想要的操作。当您收到错误时,不要无条件调用 perror,而是检查是否超时。如果不是超时,则调用perror并返回。如果超时,则在超时时做您想做的任何事情。

关于c - receivefrom:资源暂时不可用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48305917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com