Q&A

  • var Buf 과 AStream: TStream 을 어떻게 사용해야 하나여?
통신을 하다 보니까

SendBuf라는 메소드가 있는데 그안에 있는 인자중에서

Buf라는 것을 어떻게 사용하는거지여?

배열로 그냥 쓰면되나여?

또 SendStream(AStream: TStream)에서 AStream은 어떻게 이용하면되여?

그리고 두개의 차이점은 뭔지....?

고수님들의 자세한 설명바랍니다...









1  COMMENTS
  • Profile
    김진호 2001.05.13 05:05
    초보델피언 wrote:

    > 통신을 하다 보니까

    > SendBuf라는 메소드가 있는데 그안에 있는 인자중에서

    > Buf라는 것을 어떻게 사용하는거지여?

    > 배열로 그냥 쓰면되나여?

    > 또 SendStream(AStream: TStream)에서 AStream은 어떻게 이용하면되여?

    > 그리고 두개의 차이점은 뭔지....?

    > 고수님들의 자세한 설명바랍니다...



    만일 1KB짜리 이미지가 있다구 합시당..

    이걸 스트임으로 보낸다면..

    var aa : TmemoryStream;

    begin

    aa := TmemoryStream;

    aa.LoadFromFile('c:aa.bmp');

    소켓.SendStream(aa);

    aa.Free;

    end;



    이렇게 하면 정말 간단하게 날아가지만..이걸 연속된 바이트로 보낸다면..



    var AA : PChar;

    OpenFile : File;

    begin

    GetMem(AA, 1024);

    if FileExists('c:aa.bmp') then Reset(OpenFile, 1);

    BlockRead(OpenFile, AA^, 1024);

    CloseFile(OpenFile);



    소켓.SendBuf(aa, 1024)

    FreeMem(AA, 1024);

    end;



    이렇게 약간 다른 성격에 코딩이 필요하죠..

    데이타가 도착할때..

    소켓.SendStream(스트림객체)로 보낸다 하더라두 컨포넌트에 따라 다르지만 어떤놈은

    소켓.ReadBuffer(포인터변수, a); 등으로 읽는 것을 허용 하는가 하는 반면 또 어떤놈은

    소켓.ReadStream(스트림객체) 까지 허용 하는 것두 있습니다.



    근데 어떤 방법을 쓰든 데이타는 연속된바이트로 날아오기때문에 전혀 상관이 없다는 겁니다.

    쩝...그럼..