Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12915] Re:[질문]indy를 이용해서 파일 수신 프로그램을 만들고 있는데요..
civilian [civilian] 1839 읽음    2009-09-22 14:16
CRC체크는 RS-232등의 시리얼 포트를 이용해서 통신하는 것이라면 모르지만

TCP/IP에서는 패킷의 전달 여부를 확인하기 위해서는 전혀~~~ 필요 없는 일입니다.

DATA_PACKET 구조를 좀 알아야 답변을 드릴 수 있을 듯 하네요

윤박사 님이 쓰신 글 :
: 제가 서버 부분을 작성하고 있는데 컴포넌트는 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;

+ -

관련 글 리스트
12913 [질문]indy를 이용해서 파일 수신 프로그램을 만들고 있는데요.. 윤박사 1571 2009/09/15
12915     Re:[질문]indy를 이용해서 파일 수신 프로그램을 만들고 있는데요.. civilian 1839 2009/09/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.