通过设置SO_LINGER套接字选项导致连接被关闭时在TCP套接字上发送一个RST。
/*client*/
int main(int argc, char **argv){
int sockfd;
struct linger ling;
struct sockaddr_in servaddr;
if (argc != 2){
printf("usage : tcpcli <IPAddress>");
return 0;
}
sockfd = sockrt(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htone(SERV_PORT);
inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
connect(sockfd, (SA*)&servaddr, sizeof(servaddr));
ling.l_onoff = 1;
ling.l_linger = 0;
setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &ling, sizeof(ling));
close(sockfd);
return 0;
}
/*server*/
int main(int argc, char **argv){
int i, maxi, maxfd, listenfd, connfd, sockfd;
int nreadt, client[