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

C++빌더 Q&A
C++Builder Programming Q&A
[62913] 데이터는 읽히는데 멈춤 현상이 발생합니다.
김명호 [fantasy8] 1359 읽음    2010-11-05 20:49
Lyn님 감사합니다.
사이즈 부분 처리를 수정하여 데이터 수신은 정상적으로 됩니다.
그런데 통신중에 창을 이동할려고 하면 멈춤현상이 발생합니다..
인터넷을 찾아서 Freeze 처리도 해봤는데 안되더군요..
혹시 멈춤현상 해결방안 아시는 고수님들 답변 부탁드립니다.
Lyn 님이 쓰신 글 :
: TBytes <-> 변수 의 변환은
:
: RawToBytes, BytesToRaw 를 사용하세요
:
: 그리고 rcv_size 사이즈 확인 해 보시구요...
:
:
: 김명호 님이 쓰신 글 :
: : 안녕하세요..빌도 초보자입니다.
: : 제가 사용하는 환경은 빌더 2009입니다.
: :
: : 아래의 소스를 적용하면 패킷이 읽혀지지 않습니다.
: : 또한, rcv_size를 강제로 32로 하면 데이터 수신은 되는데 CmdProcess()
: : 를 수행하면 몇초후에 프로그램이 멈추는 현상이 발생합니다..
: : 오늘 오후내내 고생하는데 해결이 안되네요..
: : 고수님들의 조언 부탁드립니다.
: :
: :
: : ------------------------ 아 래---------------------------------------
: : void CmdProcess(byte *data, int size);   // 수신 데이터 처리 모듈
: :
: : void __fastcall TfrmMain::IdTCPServer1Execute(TIdContext *AContext)
: : {
: :   TByteDynArray bdaRx;
: :   byte rcv_data[1024];
: :   int rcv_size;
: :
: :   rcv_size = AContext->Connection->IOHandler->ReadSmallInt(false);
: :   if(rcv_size > 0)
: :      AContext->Connection->Socket->ReadBytes(bdaRx, rcv_size, false);
: :
: :   for(int idx = 0; idx < rcv_size; idx++)
: :      rcv_data[idx] = bdaRx[idx];
: :
: :   CmdProcess(rcv_data, rcv_size);
: : }

+ -

관련 글 리스트
62908 인디소켓에서 ReadBytes() 사용하는데 데이터가 읽히지 않는 경우 등.. 김명호 2184 2010/11/05
62909     Re:인디소켓에서 ReadBytes() 사용하는데 데이터가 읽히지 않는 경우 등.. Lyn 2219 2010/11/05
62913         데이터는 읽히는데 멈춤 현상이 발생합니다. 김명호 1359 2010/11/05
62916             Re:데이터는 읽히는데 멈춤 현상이 발생합니다. doolrifeel 1402 2010/11/06
62923                 Re:Re:데이터는 읽히는데 멈춤 현상이 발생합니다.(안되네요) 김명호 1564 2010/11/08
62934                     자답.. 김명호 1405 2010/11/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.