网络编程中,在和服务器通信时,会出现卡死在fgets中。当connect服务器之后,拔掉网线,fgets获取不到服务器信息,则一直堵塞。因此需要设置超时。
#include <
sys/types.h>
#include <sys/socket.h>
int setsockopt(int sockfd, int level, int optname,const void *optval, socklen_t optlen);
struct timeval TimeOut;
TimeOut.tv_sec = 3;
TimeOut.tv_usec = 0;
//发送时限
setsockopt( socket, SOL_SOCKET, SO_SNDTIMEO, ( char * )&TimeOut, sizeof( TimeOut) );
//接收时限
setsockopt( socket, SOL_SOCKET, SO_RCVTIMEO, ( char * )&TimeOut, sizeof( TimeOut) );
本文介绍了在网络编程中如何解决因长时间未收到服务器响应而导致的程序卡死问题。通过使用setsockopt函数设置发送和接收的超时时间,可以有效避免此类情况的发生。

1446

被折叠的 条评论
为什么被折叠?



