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
[54850] Re:서버와 클라이언트 데이타 주고받는 질문입니다.
크레브 [kkol] 1619 읽음    2008-10-11 01:40
대충 해보면 아래와 같이 코딩하시면될것 같은데요
실제 테스트 해본 코드는  아니니
디버깅은 직접 해보시길 바랍니다.

공부하실때... C++빌더 도움말을 많이 참고하세요
각각의 콤포넌트에 대한 도움말만 제대로 잘 읽어보셔도 많은 공부가 될겁니다. ^^


void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
    AnsiString sData = Socket->ReceiveText();

   int iCount = ServerSocket1->Socket->ActiveConnections;

   for (int i=0; i<iCount; i++)
   {

      // 데이터를 보낸 클라이언트이게는 안보냄
      if( ServerSocket1->Socket->Connections[i] != Socket )          
             continue;

      ServerSocket1->Socket->Connections[i]->SendText( sData);
   }


}
룸펜 님이 쓰신 글 :
: void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
:       TCustomWinSocket *Socket)
: {
:         int     nLen;
:         char    szBuf[16];
:
:         nLen=Socket->ReceiveLength();
:         Socket->ReceiveBuf(szBuf,nLen);
:
: //    ServerSocket1->Socket->SendBuf(szBuf,sizeof(szBuf)); <--이걸로 하면 send할 클라이언트가 없다는 에러
: //    Socket->SendBuf(szBuf,sizeof(szBuf)); <-- 이걸하면 데이타를 보내준 클라이언트한테만 다시 데이터 전송.
:
: 제가 만들려는게 여러 클라이언트를 띄워서 한 클라이언트에서 서버에게 데이터를 전송하면 서버는 그 데이터를
: 받아서 다른 클라이언트들에게 데이터를 뿌려주는건데요.
: 주석처리한 부분중에 첫번째줄은 실행중 에러나구요,
: 밑에 주석처리한 걸로 하면 데이터를 보내준 클라이언트한테만 다시 그 데이터를 줍니다..
: 제가 아직 초보가 클라이언트 전체에게 보내주는 방법을 몰라서 이렇게 조언을 구합니다.

+ -

관련 글 리스트
54848 서버와 클라이언트 데이타 주고받는 질문입니다. 룸펜 1294 2008/10/10
54850     Re:서버와 클라이언트 데이타 주고받는 질문입니다. 크레브 1619 2008/10/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.