|
안녕하세요..빌도 초보자입니다.
제가 사용하는 환경은 빌더 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);
}
|