tcp 设置timeout的问题
i = 4000;setsockopt(new_fd,SOL_SOCKET,SO_RCVTIMEO,&i,sizeof(int));
setsockopt(new_fd,SOL_SOCKET,SO_SNDTIMEO,&i,sizeof(int));
while((numbytes=lwip_recv(new_fd,net_buf,FRMSIZE,0))!= -1)
{...}
这样在setsockopt设置超时时间好像无效,lwip_recv经常返回0,神马原因啊?
我后来只好在代码里自己计时,如果返回值是0就一直循环等待,直到我的计时器超时 这段时间测试网络,等会找个时间试试。
页:
[1]