|
서버..
typedef struct
{
AnsiString a;
AnsiString b;
}TExample; // 구조체 정의
TExample Ex;
Ex.a = "aaaa";
Ex.b = "bbbb";
Cnt = sizeof(TEx)+1;
Buff = new BYTE[Cnt];
// Buff에 넣어준다.. Buff[0]은 명령어...
CopyMemory(&Buff[1], &Ex, Cnt);
그리고 어쩌구, 저쩌구.. 보냄...(SendBuf() 함수 이용)
//---------------------------------------------------------------
클라이언트...
어쩌구 저쩌구 받음... ( ReceiveBuf() 함수 이용)
Cnt = sizeof(TEx) + 1;
CopyMemory(&Ex, &Data[1], Cnt); // 구조체에... 다시 메모리 복사...
if(Ex.a.Length() > 0) // "" <--- 구조체에 빈 문자열이 복사돼네요..
ListBox1->Items->Add(Ex.a);
//---------------------------------------------------------------
간략하게.. 소스를 요약해 봤습니다...
제가 궁금한 건... 받는 쪽에서 보내는 쪽 데이터를 확실하게 다 받습니다...
근데... CopyMemory(&Ex, &Data[1], Cnt); 이 부분에서... 구조체 변수 a 와 b에
자꾸만 "" <--- 이런식으로... 빈 문자열이 찍히 더군요...
해결책이 없을 까요??
문자열부분을 char형 배열로 바꿔서 통신해야 돼는 건가요??
아니면.. ReceiveText() <-- 이 함수를 이용해야 하는 건가요??
근데.. 함수를 바꾸기에는 구조적으로 좀 문제가 있습니다..
왜 그런지 당췌 이유를 알수가 없더군요...
정말 급합니다...
|