您的位置首页百科问答

c语言的recv()非阻塞方法怎么弄哦

c语言的recv()非阻塞方法怎么弄哦

的有关信息介绍如下:

c语言的recv()非阻塞方法怎么弄哦

需要将recv设置超时,Linux下设置超时如下:

//设置发送超时

struct timeval timeout={3,0};//3s

setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&timeout,sizeof(struct timeval));

//设置接收超时

setsockopt(socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&timeout,sizeof(struct timeval));

windows下设置超时如下:

int timeout = 3000; //3s

int ret=setsockopt(sock_fd,SOL_SOCKET,SO_SNDTIMEO,&timeout,sizeof(timeout));

int ret=setsockopt(sock_fd,SOL_SOCKET,SO_RCVTIMEO,&timeout,sizeof(timeout));