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
[29288] Re:[질문]패킷을 구조체로 전송하는 방법이요...
손병찬 [biocell] 1881 읽음    2004-04-07 17:58
구리구리 님이 쓰신 글 :
:  패킷을 구조체로 전송할 수 있다고 하는데요
: char형으로 변환을 해서 보내야 제대로 간다고 하더라구요
: 그래서 구조체안의 변수들에 값을 채워서 아래처럼 보냈는데요
: send(sock, (const char *)pMyStruct, cch, 0);
: 데이터를 받아보니 'd'라는 값이 오더라고요
: 보내는 곳에서 디버깅해서 보니 (const char *)pMyStruct값이 'd'로 나오고요
: 왜 이렇게 나오는지 모르겠네요
: 데이터를 받는 곳에서도 보내는 곳에서와 같은 구조체가 선언 되어있으면
: 값을 받아서 쓸수 있나요? 어떻게 쓰면되죠?
: 자세히 좀 알려주세요 ㅠ,.ㅠ
:
int
SendToClient(int socket, WORD command, char *send_data, int data_len)
{
  PK_HEAD sHead;
  int hSize, dSize, state = -1;
  char Send_Buff[MAX_SEND_BUFF];

  hSize = Frame_Header( &sHead, command, data_len ); // 헤더 생성
  memmove( (char *)Send_Buff, &sHead, hSize ); // 버퍼에 헤더 복사
  memmove( (char *)Send_Buff + hSize, send_data, data_len ); // 내용 복사.
 
  if ( socket != -1 )
   state = send( socket, Send_Buff, hSize + data_len, 0 );   
  return state;
}
참고하세요..
패킷은 구조체든 어떠한 타입이 정해져있지 않습니다.

받는쪽에서도 그냥버퍼에받아서 원하는 구조체에 그냥 Move해버리면 됩니다. 
  PK_HEAD rHead;
  char RecvBuff[MAX_SEND_BUFF+헤더사이즈];

  recv_len = recv( clnt_sock, RecvBuff, 0x7FFFF, 0);
  memmove( (char *)rHead, RecvBuff, 헤더사이즈 );

위에서는 헤더(sHead,rHead)를 구조체로 정의하였음.






+ -

관련 글 리스트
29281 [질문]패킷을 구조체로 전송하는 방법이요... 구리구리 1301 2004/04/07
29290     Re:제가 알기로는 ..... ^^; 푸른노래 1406 2004/04/07
29288     Re:[질문]패킷을 구조체로 전송하는 방법이요... 손병찬 1881 2004/04/07
29283     Re:[질문]패킷을 구조체로 전송하는 방법이요... 수야!╋ 1610 2004/04/07
29285         Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 구리구리 1310 2004/04/07
29286             Re:Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 수야!╋ 1242 2004/04/07
29287                 Re:Re:Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 수야!╋ 3943 2004/04/07
34795                     Re:Re:Re:Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 박정진.바보 2120 2004/04/08
34794                     Re:Re:Re:Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 구리구리 1179 2004/04/08
34793                     Re:Re:Re:Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 수야!╋ 1193 2004/04/07
34792                         Re:Re:Re:Re:Re:Re:[질문]패킷을 구조체로 전송하는 방법이요... 수야!╋ 1248 2004/04/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.