Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[14505] 해결되었습니다. ^^ 권익수님 감사합니다.
소르 [] 2637 읽음    2012-11-26 21:52
권익수님 덕분에 해결되었습니다.~

소스에 이상이 있었네요 ^^;;

Indy9에 너무 익숙한 나머지 ㅎㅎ;;   다시한번 감사드립니다.~

권익수 님이 쓰신 글 :
: 답변에 첨부한 코드는 제가 테스트해서 올린 코드입니다.
: 정상적으로 리턴 되는거 확인하고 올린건데...
: 다른 부분과 연관되어서 발생하는 문제일 수도 있으니 테스트하신 코드를 올려줘보세요.
:
: 소르 님이 쓰신 글 :
: : 권익수님 답변 감사드립니다.
: :
: : 알려주신 방법으로 테스트 해봤는데 저는 결과가 동일하게 0x7F3F로 전송이 되네요 ㅜㅜ
: :
: : 알려주신 Byte, Ansi encoding 방법 모두 같은 결과 값이구요...
: :
: : 다른 방법이 없을까요?
: :
: : 권익수 님이 쓰신 글 :
: : : 아마도 Delphi 2009 이후의 Indy 10에서 유니코드 처리때문에 발생하는 문제인 것 같네요.
: : : Ansi로 인코딩해서 보내거나 TIdBytes에 일일이 Byte 값을 대입해서 처리하면 해결될겁니다.
: : :
: : : var
: : :   s: string;
: : :   l_Data: TIdBytes;
: : :   l_Encoding: TEncoding;
: : : begin
: : :   IdTCPClient1.Connect;
: : :   try
: : :     // Byte
: : :     l_Data := nil;
: : :     AppendByte(l_Data, Ord(#$7F));
: : :     AppendByte(l_Data, Ord(#$80));
: : :     IdTCPClient1.IOHandler.Write(l_Data);
: : : 
: : :     // ANSI Encoding
: : :     l_Data := nil;
: : :     s := #$7F#$80;
: : :     l_Encoding := TEncoding.ANSI;
: : :     AppendString(l_Data, s, -1, l_Encoding);
: : :     IdTCPClient1.IOHandler.Write(l_Data);
: : :   finally
: : :     IdTCPClient1.Disconnect;
: : :   end;
: : : 

: : :
: : : 소르 님이 쓰신 글 :
: : : : 안녕하세요.~
: : : : indy10의 tcpserver, tcpclient 소켓 통신에서 데이터가 이상하네요;;
: : : : delphi xe3 + indy 10이고 테스트 소스는 아래와 같습니다.~
: : : :
: : : : var
: : : :   asTmp: AnsiString;
: : : : begin
: : : :   ~중략 (tcpclient 연결 등)
: : : :   asTmp := #$7F + #$80;
: : : :   IdTCPClient1.Socket.Write( asTmp );
: : : :
: : : :
: : : : 뭐 특별할것도 없는 저 소스인데 전송 시 패킷은 0x7F3F 로 날라갑니다 ㅜㅜ
: : : :
: : : : 아무래도 0x80 이상 값이 모두 3F로 전송되는것이 signed / unsigned 문제인것 같기도 하고;;
: : : :
: : : : indy9에서는 이상이 없는데 10에서는 안되네요;;
: : : :
: : : : 혹시 해결방법 아시는분 답글 부탁드려요.~
: : : :
: : : : 아~ iohandler.write도 동일하게 0x7F3F로 날라갑니다.

+ -

관련 글 리스트
14498 indy10 tcp 통신 시 문제... 소르 2071 2012/11/24
14499     Re:indy10 tcp 통신 시 문제... 권익수 4053 2012/11/25
14501         그래도 동일하네요 ㅜㅜ 소르 1961 2012/11/25
14502             Re:그래도 동일하네요 ㅜㅜ 권익수 2176 2012/11/25
14505                 해결되었습니다. ^^ 권익수님 감사합니다. 소르 2637 2012/11/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.