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

C++빌더 Q&A
C++Builder Programming Q&A
[17565] Re:Re:Re:Re:Re:[만해] Borland Socket에 대해서
gongnim [gongnim] 1201 읽음    2002-04-15 09:39
형선언은 문자열배열로 사용하시구요 (char text[MAX_PATH])
SendText말고 SendBuf를 사용해보세요.
아마도, 데이타가 손상돼는 경우는 없을거라고 생각되네요.
저같은 경우는 데이타전송을 AnsiStrng을 안쓰거든요. 특히나 만해님같이 변환같은건 절대로 안하죠.

만해 님이 쓰신 글 :
: 안녕하세요 만해 입니다.
:
: unsigned char* 로 되어진 문장을
:
: AnsiString으로 변환시 자료가 손상될 경우가 있는건가요?
:
: 전송 받은 데이타를 보면 전체적으로 약간의 손상이 문제 되는데
:
: 헐~
:
: 내부적으로 패러티 비트를 사용해서 재전송을 요구 하는 부분을
:
: 삽입할까 생각 중입니다.
:
: 제가 지금 사용하고 있는 예제는 학균님의
:
: ChatServer하고 ChatClient입니다.
:
: 누가좀 도와 주세요~
:
:
: gongnim 님이 쓰신 글 :
: : 글쎄요. 저도 정확히 어떤 문제때문에 일어난다고 꼭 집어서 얘기하지는 못하겠습니다.
: : 하지만, 저도 소켓 프로그램은 많이 해봤지만, 그런 경우가 가끔씩 있더라구요.
: : 형선언이나, 내부 연산등 여러가지를 생각해봐야겠구요. 무슨 이유에서인지는 모르겠지만,
: : 전송되면서 데이타가 잘못 갈때가 있는데 그건 저도 어찌 해야할지 모르겠습니다.
: : 좀더 정확한 통신을 원하시면 서버와 클라이언트가 hand shake를 통해서 재확인하는 수밖에는 없을거 같네요.
: : 그럼 즐프하세요
: :
: :      --- Change World ---
: :
: : 만해 님이 쓰신 글 :
: : : gongnim 님이 쓰신 글 :
: : : : TServerSocket과 TClientSocket은 TCP/IP 기반이랍니다.
: : : : 우선 Socket 자체는 TCP/IP 프로토콜을 사용한답니다.
: : : : 그러니까. 만해님이 자료의 오차가 생겼다는것은
: : : : 파일 송수신시 잘못된것 같네요.
: : : : 저도 그런적이 조금 있었거든요
: : : : 우선 받는 부분에서 파일 쓰기를 다시 한번 확인 하심이 좋을거 같네요.
: : : : 샘플소스는 자료실에 있는걸로 알고 있네요. 그럼~~
: : :
: : : 흠 파일에 입력하는건 아니고요
: : :
: : : 그냥 간단한 32바이트 자료 패킷을 암호화 시킨 자료를
: : :
: : : AnsiString EncData;
: : :
: : : EncData = Crypt->Encode(Source);
: : :
: : : ClientSocket->Socket->SendText(EncData);
: : :
: : : 이렇게 자료를 보내는 루틴이고요
: : :
: : : 받은 루킨은
: : :
: : : RecieveData = ClientSocket->Socket->RecieveText();
: : :
: : : AnsiString DecData;
: : :
: : : DecData = Crypt->Encode(RecieveData);
: : :
: : : 이렇게 되고요
: : :
: : : 구체적으로 애기는 소스를 올려 드리지는 못하지만
: : :
: : : TCrypt 에서는 기본적으로 사용하는 저의 타입이 있고
: : :
: : : AnsiString을 Char* 형으로 바꿔서 사용하고 있습니다.
: : :
: : : 제가 문제를 삼은 부분이요
: : :
: : : 자료를 넣어서 암호화된 데이타를 전송 시킬때 
: : :
: : : 암호화된 데이타의 모든 비트를 다 적어 놨는데
: : :
: : : 수신 부분에서는
: : :
: : : 읽은 데이타의 비트를 싹 비교 해보니
: : :
: : : 전제적으로 국소 부분에서 차이가 나네요
: : :
: : : 왜 이러는지 좀 알려 주세요 ~
: : :

+ -

관련 글 리스트
17536 [만해] Borland Socket에 대해서 만해 1128 2002/04/13
17547     Re:[만해] Borland Socket에 대해서 gongnim 1348 2002/04/14
17550         Re:Re:[만해] Borland Socket에 대해서 만해 1071 2002/04/14
17552             Re:Re:Re:[만해] Borland Socket에 대해서 gongnim 1032 2002/04/14
17562                 Re:Re:Re:Re:[만해] Borland Socket에 대해서 만해 925 2002/04/15
17565                     Re:Re:Re:Re:Re:[만해] Borland Socket에 대해서 gongnim 1201 2002/04/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.