遇到recv()阻塞接收的问题,网络不通就一直等,想改成非阻塞的,也不可靠谱。最后设置了一个超时时间。
设置如下:
struct timeval tv_timeout;
tv_timeout.tv_sec = 10;
tv_timeout.tv_usec = 0;
设置如下:
struct timeval tv_timeout;
tv_timeout.tv_sec = 10;
tv_timeout.tv_usec = 0;
setsockopt(sock_fd,SOL_SOCKET,SO_RCVTIMEO,&tv_out, sizeof(tv_out))