0
環境: 操作系統:CentOS的 服務器:Apache 2.2.22爲什麼我的服務器的套接字SYN_RECV
的問題是服務器cant't完成三次握手。 客戶端可以收到SYN-ACK數據包和響應ACK,但服務器無法獲得。
客戶機代碼:
INT主() {
struct sockaddr_in srvaddr;
srvaddr.sin_family = AF_INET;
srvaddr.sin_port = htons(80);
int32_t sockfd;
srvaddr.sin_addr.s_addr = inet_addr("10.200.33.201");//httpd ip
sockfd = socket(AF_INET,SOCK_STREAM,0);
if(connect(sockfd,(struct sockaddr*) &srvaddr,sizeof(struct sockaddr)) < 0)
printf("connect error!\n");
//close(sockfd);
pause();
return 0;
}
EXCUTE客戶端之後,使用 'netstat的-natp',找到連接插座是SYN_RECV狀態。 如果使用wireshark捕獲數據包,我發現客戶端重新發送ACK很多次。 爲什麼?