내 서버가 클라이언트에 패킷을 보내고 있지만 두 번째 패킷은 표시되지 않습니다. 내 소켓이 차단 유형 인 경우 왜 이런 일이 발생하는지 알 수 없습니다.클라이언트와 서버간에 동기화를 가져 오는 방법
while(1){
memset(buf,0,1024);
numbytes=0;
if ((numbytes = recv(sockfd, buf, 1024, 0)) == -1) {
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
printf("%s\n",buf);
fflush(stdout);
}
fclose(fp);
close(sockfd);
* 두 번 받으려고한다는 것은 무엇을 의미합니까 *? 질문을 명확하게 설명해 주시겠습니까? – cnicutar
Wireshark는 이런 상황에서 당신을 도울 수있는 편리한 도구입니다. – stdcall
루프가 두 번 반복되는 동안 처음에는 서버에서 두 번째로 보내는 데이터가 있습니다.하지만 null은 나에게 차단해야하며 데이터를 기다려야합니다. 서버 측에서 왔습니다. – tod