|
김명섭 님이 쓰신 글 :
: {
: AnsiString C;
: TMemoryStream *MyStream = new TMemoryStream();
: NMUDP1->ReadStream(MyStream);
: C.SetLength(NumberBytes);
: MyStream->Read(&C[1], NumberBytes);
: Memo1->Lines->Add(C+": received "+IntToStr(NumberBytes)+" bytes from "+FromIP+" on port "+IntToStr(Port));
: }
:
:
: 질문1.
: ReadBuffer or ReadStream으로 어느것을 하면 좋을까요?
:
: 질문2.
: 아래와 같은 데이터를 받을려고 합니다.
:
: char sendData[12];
: sendData[0]=0x81;
: sendData[1]=0x21;
: sendData[2]=0x00;
: sendData[3]=0x00;
: sendData[4]=0x41;
: sendData[5]=0x10;
: sendData[6]=0x00;
: sendData[7]=0x0C;
: sendData[8]=0x30;
: sendData[9]=0x31;
: sendData[10]=0x33;
: sendData[11]=0x38;
:
: MyStream->Write(sendData,9);
: NMUDP1->SendStream(MyStream);
:
: 아래와 같이 출력됩니다.
: 31 31 30 30 43 30 31 33 38
[답변]
idudpserver1udp(read....)
{
char *cabuffer;
string stbuffer,stsum;
if(AData->Size==0)return;
cabuffer=(char *)malloc(AData->size+1);
AData->Read(cabuffer,AData->size);
cabuffer=[AData->Size]=0;
이런식으로 udp서버의 이벤트에서 받아보세요
}
:
: 원하는 결과는 아래와 같습니다.
: 81 21 00 00 41 10 00 0C 30 31 33 38
:
: 고수님들의 답변부탁드립니다 ^^/
|