제가 서버 부분을 작성하고 있는데 컴포넌트는 TIdTCPServer 를 사용하고 있습니다
단말기에서 파일 수신 요청이 들어오면 파일을 확인하고 제가 단말기로 파일 송신 요청을 하면
단말기에서 하나의 파일을 5개로 쪼개서 보냅니다
그러면 하나하나 CRC 체크를 해서 제가 다음 파일 요청을 보내야되는데
대략적인 소스는 아래와 같은데
문제는 AThread.Connection.ReadBuffer(DATA_PACKET , SizeOf(DATA_PACKET));
이 부분에서 멈춰버리기 때문에 단말기에서는 다음 패킷 전송 요구를 받지 못하므로 걍 전송실패로 빠지게 됩니
다..
이 문제를 해결할려면 어떻게 해야되나요...
For i := 1 To 5 Do Begin
AThread.Connection.ReadBuffer(DATA_PACKET , SizeOf(DATA_PACKET));
If Not func_TempSum Then Begin // CRC 체크
// 전송실패 패킷전송
AThread.Connection.WriteBuffer(COMMAND_PACKET , SizeOf(COMMAND_PACKET),true);
AThread.Terminate;
Exit;
End;
// 다음패킷 전송요구
AThread.Connection.WriteBuffer(COMMAND_PACKET , SizeOf(COMMAND_PACKET),true);
End;
|