怎么取消socket的超时阻塞
如何取消socket的超时阻塞
struct timeval tv_out;
tv_out.tv_sec = 4;
tv_out.tv_usec = 500;
setsockopt(socketFd,SOL_SOCKET,SO_RCVTIMEO,&tv_out,sizeof(tv_out));
之后我想取消这个设置,恢复到原来的阻塞模式,请问应该怎么操作
------解决思路----------------------
可以尝试设置为
tv_out.tv_sec = 0;
tv_out.tv_usec = 0;
setsockopt(socketFd,SOL_SOCKET,SO_RCVTIMEO,&tv_out,sizeof(tv_out));
------解决思路----------------------
SO_RCVTIMEO 的缺省值为0, 也就是阻塞模式。
如果需要恢复以前的超时设置,可以用getsockopt读取原来的值保存,需要的时候进行恢复。
struct timeval tv_out;
tv_out.tv_sec = 4;
tv_out.tv_usec = 500;
setsockopt(socketFd,SOL_SOCKET,SO_RCVTIMEO,&tv_out,sizeof(tv_out));
之后我想取消这个设置,恢复到原来的阻塞模式,请问应该怎么操作
------解决思路----------------------
可以尝试设置为
tv_out.tv_sec = 0;
tv_out.tv_usec = 0;
setsockopt(socketFd,SOL_SOCKET,SO_RCVTIMEO,&tv_out,sizeof(tv_out));
------解决思路----------------------
SO_RCVTIMEO 的缺省值为0, 也就是阻塞模式。
如果需要恢复以前的超时设置,可以用getsockopt读取原来的值保存,需要的时候进行恢复。