标签: c sockets udp recvfrom
我想等待一段时间(比如3秒)让recvfrom()接收一些数据,如果它没有收到任何东西我想退出我的程序(在这3秒内) 怎么做?
答案 0 :(得分:2)
使用setsockopt()选项调用SO_RCVTIMEO以在套接字上设置读取超时。如果超时触发,recvfrom()将返回-1 errno == EAGAIN/EWOULDBLOCK。
setsockopt()
SO_RCVTIMEO
recvfrom()
errno == EAGAIN/EWOULDBLOCK