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
[67133] Re:[질문]TcpServer 에서 메시지를 받을때
송신영 [palindrome] 1530 읽음    2012-05-04 17:55
char t[1024];

수신 버퍼를 사용하고 난 후에는 초기화 해야할듯..
이전 값이 남아있어서 그런것 같습니다.

하안인 님이 쓰신 글 :
: TCP Client , Server 프로그램을 작성하려고 합니다.
: (인디로 하려다 인디도 안써봐서 TTcpClient, TTcpServer 로 사용하려고 합니다.)
:
: 서버쪽에서
: void __fastcall TForm1::TcpServer1Accept(TObject *Sender,
:       TCustomIpClient *ClientSocket)
: {
:     Add("# accept");
:     int len;
:     char buf[1024];
:     char t[1024];
:     String ss;
:     // thread loop
:     //
:     do
:     {
:         len = ClientSocket->ReceiveBuf(t, 1024, 0);
:         ClientSocket->SendBuf("OK\r\n", 10);
:         ss = String(t);
:         Memo1->Lines->Add(ss);
:
:     // 클라이언트 접속이 종료되거나 에러가 나면 len이 0 값이 넘어 온다.
:     } while(len > 0);
:     ClientSocket->Close();
:     Add("# end accept");
:
: }
:
: 클라이언트에서
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:     try
:     {
:             TcpClient1->Connect();
:             if (!TcpClient1->Connected)
:                 return; // break;
:             TcpClient1->Sendln("12345");
:         TcpClient1->Disconnect();
:     }
:     catch(...)
:     {
:        // Memo1->Lines->Add("TcpClient는 Indy와 달리 에러시 예외가 발생하지 않는다.");
:        throw;
:     }
: }
: 위와 같이 Client에서 버튼을 누르면 전송되도록 했는데
: 한번만 눌렀는데
: 서버쪽에는
: 12345
: 12345
:
: 두번이 찍힙니다.
: TcpClient1->Disconnect();
: 될때 서버쪽에서 한번더 찍히는데 원인을 못 찾아서요.

+ -

관련 글 리스트
67106 [질문]TcpServer 에서 메시지를 받을때 하안인 1466 2012/05/03
67133     Re:[질문]TcpServer 에서 메시지를 받을때 송신영 1530 2012/05/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.