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
[61353] 소켓 구조체 통신
ㅋㅋ [] 980 읽음    2010-06-03 14:27
서버..
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() <-- 이 함수를 이용해야 하는 건가요??

근데.. 함수를 바꾸기에는 구조적으로 좀 문제가 있습니다..

왜 그런지 당췌 이유를 알수가 없더군요...

정말 급합니다...

+ -

관련 글 리스트
61353 소켓 구조체 통신 ㅋㅋ 980 2010/06/03
61375     Re:소켓 구조체 통신 송신영 1520 2010/06/04
61374     Re:소켓 구조체 통신 금목암[손효철] 1813 2010/06/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.