C. (Linux)sendto 함수로 이상한 결과를 얻었습니다. 신뢰할 수있는 UDP 종류를 구현하는 것입니다. 계획.C sendto가 때때로 작동합니다 ... 아무런 오류가 없었습니다 ... no ERRORS
아래 제공된 코드 스 니펫은 패킷이 삭제 될 때 만료되고 해당 패킷을 다시 전송하는 프로세스에 메시지를 보내는 타이머의 일부입니다. 나는 데
이상한 문제는 큰 파일을 전송할 때> 300킬로바이트 아래에 주어진 코드 (즉, ELSE 부분이 실행됩니다) 그러나 패킷의 특정 숫자 후 전송 완벽하게 작동합니다 ... 말할 것입니다. .. 그 부분을 실행합니다. !!!
코드가 약 250 패킷 BUT 251 PACKET kabooom 함께 잘 작동하기 때문 이상한 !!!
n = sendto(sockfd, &(forwardPeer->id), sizeof(forwardPeer->id), 0, (struct sockaddr*)&tcpd_addr, sizeof(tcpd_addr));
if(n<0)
printf("\n error sending to tcpdc");
else
printf("\n message sent to tcpdc");
제발 도와주세요! 미리 알아 두십시오.
오류가 발생했을 때'strerror (errno)'를 출력하면, 무슨 일이 일어 났는지 알 수 있습니다. –
Error :: 잘못된 파일 기술자 ... Perl ... –
신뢰할 수있는 데이터 그램 프로토콜 - hmmm .... –