Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[11595] [급질문] 소켓통신으로 전문내용을 받아 버퍼에 넣으면,,
철수 [iamzico] 1870 읽음    2007-11-13 16:09
제가 VC++ 을 주로 사용하는 터라.
델파이로 만든 프로그램을 갑자기 수정하라는데,,
딱, 미치겠습니다.
고수님들의 급 조언 부탁드립니다.
내용은 아래와 같습니다.

소켓 통신중에 리시브 받은 내용을 버퍼에 올려서
그것을 특정 구조체에 넣는데요,
이게 자꾸 자릿수가 밀려서요.

버퍼 내용은  이렇게 들어옵니다. 정상적으로..
[1] #174
[2] #174
[3] #174   --> 3byte 가 szTransactionCode

[4] #1      --> 1byte 가  czSendDeviceType

[5] #0
[6] #1     --> 2 byte 가 wSendDeviceSeq

[7] #5     --> 1 byte 가 czReceiveDeviceType

[8] #0
[9] #1    --> 2byte 가 wReceiveDeviceSeq      

[10] #3

[11] #0
[12] #0
[13] #0
[14] #4
...............

아래가 구조체 내용인데요

  TMsgHeader = record
        szTransactionCode       : array[1..3] of char;
        czSendDeviceType        : char;
        wSendDeviceSeq          : Word;      
        czReceiveDeviceType     : char;
        wReceiveDeviceSeq       : Word;    
        czCommandType           : char;
        dwCommandKind           : Longword;
        dwDataLength            : Longword;
        szPrepareFilter         : array[1..20] of char;
        szSendTime              : array[1..14] of char;
  end;

이게 버퍼에서 구조체로 메모리 복사를 하고 나면
buffer : array [1..1024] of Char;
ZeroMemory( @buffer, 1024 );
CopyMemory( @MsgHeader, @buffer, sizeof(MsgHeader) );
이렇게 코드를 통화하면,,

szTransactionCode       [#174, #174, #174]
czSendDeviceType        #1
wSendDeviceSeq         256
czReceiveDeviceType     #5
wReceiveDeviceSeq       769
......
szSendTime   ['0','7','1','1'.............#0,#0 ]

이렇게 되버립니다.
wSendDeviceSeq   이놈의 값이 256 이라고 나오는데,, 이게 무슨 뜻입니까?

szSendTime   요넘 값이 정상적으로 들어오면 ['2','0','0','7', ....... '5','3']
이렇게 되야 하는데요.. 위에서 보시는 것처럼 앞으로 두칸 밀려서 마지막에 널 값이 두자리 들어옵니다.
이걸 당췌 알수가 없는데요..
시간은 촉박하고,,, 아~ 이걸 우째야합니까?

고수님들... 좀 부탁드립니다.

+ -

관련 글 리스트
11595 [급질문] 소켓통신으로 전문내용을 받아 버퍼에 넣으면,, 철수 1870 2007/11/13
11598     Re:[급질문] 수신된 값..... 철수 1673 2007/11/13
11596     Re:[급질문] 소켓통신으로 전문내용을 받아 버퍼에 넣으면,, kylix 2923 2007/11/13
11597         Re:Re:[급질문] kylix 님 정말 감사합니다. 철수 1578 2007/11/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.