게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[질문] 네트워크 바이트 오더링, NToHL, HToNL...
게시물ID : computer_82001짧은주소 복사하기
작성자 : 작은돼지
추천 : 0
조회수 : 664회
댓글수 : 12개
등록시간 : 2013/03/21 22:45:49

현재 델파이7, Indy9으로 네트워크 프로그램하나 작성중인데요.

 

서버에서 레코드안의  정수형 변수를 htonl로 변환하여 전송하고

클라이언트에서 수신한 레코드를 받아서 ntohl로 변환해도

 

처음 한, 두번은 값이 잘 전달 되다가,

그 이후부터 빈번히 깨져서 쓰래기값이 들어와 있네요...

 

Ex)

type

  TMyRec = Packed Record

    FIndex1:Integer;

    FIndex2:Integer;

    end;

{이 레코드를 패킷으로 보낼때}

 

{서버에서}

Procedure MainFormSendRec;

var

   MyRec:TMyRec;

begin

   MyRec.FIndex1 := 123;

   MyRec.FIndex2 := 456;

 

   MyRec.FIndex1 := htonl(MyRec.FIndex1);

   MyRec.FIndex2 := htonl(MyRec.FIndex2);

   AConnection.WriteBuffer(MyRec);

end;

 

{클라이언트에서}

Procedure MainFormRecvRec;

var

   MyRec:TMyRec;

begin

   Client.ReadBuffer(MyRec);

   MyRec.FIndex1 := ntohl(MyRec.FIndex1);

   MyRec.FIndex2 := ntohl(MyRec.FIndex2);

end;

 

{}

 

 혹시 아시는분 계신다면 답변 부탁드립니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호