我用sendto发了一个UDP包,然后用recv收到应答,.if recv没有收到应答,程序就不继续了。但是,udp数据包可能会丢失,或者由于某种原因,数据包可能无法投递,从而导致程序卡在recv线路上。我想知道,如果recv在一分钟内到达,如何设置超时,然后跳过该行并继续执行代码?我没有粘贴完整的代码,因为它是一个通用的udp代码,并且我的问题与唯一的recv相关。最后要说明的是,开发环境是linux。inet_addr(hostname);
sen
我目前在一个项目中使用套接字,在该项目中,我希望在recv函数中设置5秒的超时时间。我在中发现,setsockopt with SO_RCVTIMEO选项应该这样做,但问题是它也会影响accept()函数,我只想要recv()函数的超时。下面是我设置超时的方法:
/*Setting timeout for bad headers*/那么,是否可以只为recv()函数设置这个超时而不影响accept