recvfrom 超时设置

   1. struct timeval tv;
   2. int ret;
   3. tv.tv_sec = 10;
   4. tv.tv_usec = 0;
   5. if(setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv))<0){
   6. printf("socket option  SO_RCVTIMEO not support\n");
   7. return;
   8. }
   9. if (( ret = recvfrom(s, buf, sizeof buf, 0, NULL,NULL)) < 0)
  10. {
  11.     if(ret == EWOULDBLOCK || ret== EAGAIN )
  12. printf("recvfrom timeout\n");
  13. else
  14. printf("recvfrom err:%d\n",ret);
  15. }

  

posted @ 2012-11-08 17:06  追心  阅读(3001)  评论(0编辑  收藏  举报