2012年4月28日

udp 超时设置(select函数的一种用法)

摘要: 最近项目中,需要编写一个udp接收程序。传统的recvfrom是阻塞进行的,即调用recvfrom之后程序就会阻塞,等待数据包的到来,如果没有数据包,程序就永远等待。在很多场景中,我们需要设置超时参数,如果该套接口超时之后仍然没有数据包到来,那么就直接返回。socket编程中这样的超时机制可以使用select和recvfrom这两个函数实现实现代码如下 1 #define RECV_LOOP_COUNT 100 2 int recv_within_time(int fd, char *buf, size_t buf_n,struct sockaddr* addr,socklen_t *len, 阅读全文

posted @ 2012-04-28 15:21 liang_87 阅读(24873) 评论(3) 推荐(2) 编辑

导航