Q&A

  • TCP/IP에서 Receivebuffer로 받은 값을 변수들에 나누어 저장하려면?
TCP/IP에서 Clientsocket에서 Sendstream은 있는데 ReceiveSteeam은 없는데 Receivebuffer로 받으면 어떻게 Sendstream에서 받은 값을 만약 변수 A,B,C의 변수에 저장할수 있나요...

답답합니다.

급해서 그런데요 빠른답변 부탁드립니다.

특히 Sendstream에서 보내는 것은 Record를 보낼거거든요..고수님들 빠른 답변 부탁드립니다.

시간이 없네요..

2  COMMENTS
  • Profile
    박서규 2000.08.30 23:36
    찾는이 wrote:

    > TCP/IP에서 Clientsocket에서 Sendstream은 있는데 ReceiveSteeam은 없는데 Receivebuffer로 받으면 어떻게 Sendstream에서 받은 값을 만약 변수 A,B,C의 변수에 저장할수 있나요...

    > 답답합니다.

    > 급해서 그런데요 빠른답변 부탁드립니다.

    > 특히 Sendstream에서 보내는 것은 Record를 보낼거거든요..고수님들 빠른 답변 부탁드립니다.

    > 시간이 없네요..



    안녕하세요...

    여러 방법이 있을것 같습니다.

    버퍼의 내용을 임의적으로 move시키는 방법이 있구요..

    버퍼의 내용을 레코드의 크기와 똑같은 사이지의 버퍼에 넣었다가

    형변환을 시키셔도 됩니다.

    저의 경우는 후자를 쓰는데 잘됩니다.

  • Profile
    찾는이 2000.08.31 00:12
    박서규 wrote:

    > 찾는이 wrote:



    > 안녕하세요...

    > 여러 방법이 있을것 같습니다.

    > 버퍼의 내용을 임의적으로 move시키는 방법이 있구요..

    > 버퍼의 내용을 레코드의 크기와 똑같은 사이지의 버퍼에 넣었다가

    > 형변환을 시키셔도 됩니다.

    > 저의 경우는 후자를 쓰는데 잘됩니다.



    -----------------[질문]------------------

    type

    Packet = Record

    Data : Array[1..3] of double;

    end;



    var

    P : Packet;

    S : TMemoryStream;

    begin

    S:=TMemoryStream.Create;

    P.Data[1]:=10.000;

    P.Data[2]:=20.000;

    P.Data[3]:=30.000;

    S.Write(P,Sizeof(P));

    ServerSocket.Socket.Sendstream(P);

    end;



    ----받는쪽----

    type

    DataReceive = Record

    Re : Array[1..3] of double;

    end;

    var

    P : DataReceive;

    Mem : TMemoryStream;

    begin

    ClientSocket.Socket.ReceiveBuffer( )---이부분부터 어떻게 해야할지 모르겟네여

    end;



    이 부분에 대해서 저는 위에서 보낸 레코드를 다시 이부분에서 다시 변수로 정의하고 싶거든여..예제로 부탁드립니다.

    레코드로 받은것을

    P.Re[1]:=10.000;

    P.Re[2]:=20.000;

    P.Re[3]:=30.000;

    이런 방법으로 다시 저장하고 싶어여?

    예제로 설명 부탁드립니다. 바쁘신데 번거롭게 해드려서 죄송해여...