在一定时间后停止recvfrom()

时间:2014-12-07 20:09:01

标签: c sockets udp recvfrom

我想等待一段时间(比如3秒)让recvfrom()接收一些数据,如果它没有收到任何东西我想退出我的程序(在这3秒内) 怎么做?

1 个答案:

答案 0 :(得分:2)

使用setsockopt()选项调用SO_RCVTIMEO以在套接字上设置读取超时。如果超时触发,recvfrom()将返回-1 errno == EAGAIN/EWOULDBLOCK