Q&A

  • 레코드나, 그외 데이타 전송에서,,,
아래 답변이 있긴한데 그걸로는 부족해 제가 다시 질문 합니다.

레코드가 다음과 같을땐 SendText로 전송이 안되지 않습니까?

그럼 어떻게 전송해야 할까요..



TMyRecord = record

XY: TPoint;

Image: TImage;

str: string;

Year: integer;

char: PChar;

end;

이런경우 어떻게 전송 해야 합니까.



그리고요, 이미지를 스트림으로 전송하는데 잘 모르겠습니다.

이미지를 메모리스트림 하나 정의 해서 그곳에 복사해 넣구 전송하면 될것

같은데 잘 안되네요.

보낼때 잘르고 보내고, 받는쪽은 받고 붙이고,,,, 이거 이해 잘 안됩니다.

또, 받고나서 다시 이미지로 바꿔줘야 사용할수 있나요?

아래에 있긴 한데 원하는 답변이 아니거든요.

일자 무식이를 위해 예를 들어 줄순 없나요?

꼭 좀 부탁 드립니다.



1  COMMENTS
  • Profile
    구창민 1999.08.19 05:13
    초보델피언 께서 말씀하시기를...

    > 아래 답변이 있긴한데 그걸로는 부족해 제가 다시 질문 합니다.

    > 레코드가 다음과 같을땐 SendText로 전송이 안되지 않습니까?

    > 그럼 어떻게 전송해야 할까요..

    >

    > TMyRecord = record

    > XY: TPoint;

    > Image: TImage;

    > str: string;

    > Year: integer;

    > char: PChar;

    > end;

    > 이런경우 어떻게 전송 해야 합니까.

    >

    > 그리고요, 이미지를 스트림으로 전송하는데 잘 모르겠습니다.

    > 이미지를 메모리스트림 하나 정의 해서 그곳에 복사해 넣구 전송하면 될것

    > 같은데 잘 안되네요.

    > 보낼때 잘르고 보내고, 받는쪽은 받고 붙이고,,,, 이거 이해 잘 안됩니다.

    > 또, 받고나서 다시 이미지로 바꿔줘야 사용할수 있나요?

    > 아래에 있긴 한데 원하는 답변이 아니거든요.

    > 일자 무식이를 위해 예를 들어 줄순 없나요?

    > 꼭 좀 부탁 드립니다.

    >



    초보델피언님 안녕하세요?

    말씀하신 내용을 정독해보니, 다른 부분은

    크게 문제되실게 없으신듯 합니다.

    이미지 전송은 스트림을 전송할때, 일련의 바이트를

    1024크기로 잘라서 보내보세요.

    받은쪽에서는 길이를 조사해 1024를 받았다면 받았다는 응답을

    보내주구요.

    만약 1024를 받지 못했다면 이전 패킷을 다시 받아야 합니다.

    이렇게 받았다는 메세지를 보낸 측에서 정상적으로 받으면 다시

    다음 1024를 보내고, 또 받고, 보내고...



    모두 다 보냈다면 다음 레코드 멤버변수들을 문자열화 해서

    보내시면 되겠네요.



    음..위의 내용들은 예제를 작성하려 해도 간단히 되지 않습니다.

    통신이 들어가면 그 만큼 간단해 지지 않는것은 어쩔수가 없답니다.

    이런 말 하면 안되지만 통신이 들어간 수주는 단가도 상당히 높아지지요.



    한번에 모든 작업을 하려 하시지 말고, 차근차근

    이미지부터 보내는 예제작성을(송수신 응답주고받는 테스트),

    거친후에 완전한 조립이 이루어지는 것이 무난하리라 생각됩니다.

    기술력이 쌓이는 것은 물론이구요.

    참고 하시고, 즐거운 프로그래밍 되시길 바랍니다.