일단 TList등 포인터정보가 들어가 있는 데이타는 보내면 안됩니다.
보내봤자 아무소용 없으니..
패킷은 어떤 규약에 의거 보낼수 있어요
제가 하는 방식
즉, 인식자(4바이트), ID(2바이트), 전체사이즈(4바이트), 데이타(Free)
이런식이고
데이타는 ID에따라 분리 되겠죠
ID가 특정 레코드를 보내는 거라면
데이타는 전체 레코드수(4바이트) <= 데이타의 헤더
레코드사이즈4바이트, 레코드내용(Free) <= 데이타의 실내용
위의내용이 일반적이고
정말로 많은 내용이라서 이어받기를 지원 하고 싶다면
음.. 이건 Request , Response를 취해야 합니다. 일반적으로
위의것으로 충분해요
또한 위의 레코드에 포인터가 있으면 또 안되는거 아시죠
즉,
AAA=record
A : integer;
B : double;
C : string;
end;
위의 내용은 전체사이즈가 16바이트인가 밖에 안되요
즉, C라는 변수는 포인터이기에 4바이트밖에 안가요..
이런것 보내려면 다시 규칙을 만들어야만 해요
데이타(A),
데이타(B),
C의 size(4바이트), 데이타(C)
.....
보내봤자 아무소용 없으니..
패킷은 어떤 규약에 의거 보낼수 있어요
제가 하는 방식
즉, 인식자(4바이트), ID(2바이트), 전체사이즈(4바이트), 데이타(Free)
이런식이고
데이타는 ID에따라 분리 되겠죠
ID가 특정 레코드를 보내는 거라면
데이타는 전체 레코드수(4바이트) <= 데이타의 헤더
레코드사이즈4바이트, 레코드내용(Free) <= 데이타의 실내용
위의내용이 일반적이고
정말로 많은 내용이라서 이어받기를 지원 하고 싶다면
음.. 이건 Request , Response를 취해야 합니다. 일반적으로
위의것으로 충분해요
또한 위의 레코드에 포인터가 있으면 또 안되는거 아시죠
즉,
AAA=record
A : integer;
B : double;
C : string;
end;
위의 내용은 전체사이즈가 16바이트인가 밖에 안되요
즉, C라는 변수는 포인터이기에 4바이트밖에 안가요..
이런것 보내려면 다시 규칙을 만들어야만 해요
데이타(A),
데이타(B),
C의 size(4바이트), 데이타(C)
.....
그럼 이만..