setsockopt设置了linger选项的疑问
- C/C++ code
int main(){ int sockfd, connfd; struct sockaddr_in servaddr; socklen_t len; struct linger linger; if (bind(sockfd, (struct sockaddr*)&servaddr, sizeof servaddr) < 0) err_sys("bind error"); if (listen(sockfd, LISTENQ) < 0) err_sys("listen error"); linger.l_onoff = 1; linger.l_linger = 0; if (setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &linger, len) < 0) err_sys("error setlinger\n"); connfd = accept(sockfd, (struct sockaddr*)&servaddr, &len); close(connfd); close(sockfd); return 0;}这段代码用setsockopt设置了linger选项,l_onoff为1,l_linger为0,但是我用netstat看到这个进程还是经历了TIME_WAIT状态,设置了此选项应该不会经历这个state才对的阿?
[解决办法]
[解决办法]