|
일단 pack을 해 줘야 합니다.
#pragma pack(1)
struct dataA {
char a[2];
char b[3];
};
#pragma pack()
SendStream을 쓰려 한다면 먼저 스트림을 만들어야겠죠
{
dataA myData;
// myData를 채워넣고
TMemoryStream *pStr = new TMemoryStream();
pStr->Write(&myData, sizeof(myData));
ClientSocket1->Socket->SendStream(pStr);
delete pStr;
}
대충 이런 식으로 하시면 됩니다.
리시브한 것도 비슷합니다. TStream::Read 맴버함수를 써서 읽어와도 좋고
TMemoryStream처럼 Memory와 같은 메소드를 제공하는 스트림이라면
dataA *pMyData = (dataA*)(pMyStream->Memory);
이런식으로 직접 캐스팅해서 쓸 수 있습니다.
tigerfun 님이 쓰신 글 :
: char형들을 가지는 struct를 sendstream과 receivebuffer로 TCP socket 통신하려고 합니다. 도움 바랍니다. 빌더를 처음 사용하는 사용자이고, 윈도우 프로그래미의 경험도 거의 없습니다.
:
: 아시는 분의 답변을 기다리겠습니다.
:
: struct dataA {
: char a[2];
: char b[3];
: };
:
: ClientSocket1->Socket->SendStream(...
:
:
|