Q&A

  • 소켓으로 서버에서 Tlist를 보내면.
서버에서 작성한 Tlist 를 클라이언트로보내면
서버의 Tlist가 가르키는 변수까지 딸려서 가나요?
아니면 단순히 서버에서 작성한 Tlist (포인터만들어있음)
자체만 가나요?


그리고 혹 포인터만간다고하면
데이터 사이즈가 정해지지않는 배열이같은건
소켓으로 어떻게 왔다갔다하시는지
답변 부탁드립니다.
1  COMMENTS
  • Profile
    이중철 2004.08.25 23:48
    일단 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)
    .....



    그럼 이만..