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
[46486] 매일 질문만 해서 죄송합니다... 소캣으로 하는 채팅관련
대마두 [daemadoo] 872 읽음    2006-09-08 22:09
이거 글쓸때마다 질문이라서 죄송합니다...

답변할만큼 실력이 충분하지 못해서요 ㅜㅜ

지금 소켓을 이용한 메세지 전달 테스트를 하는데요

메세지를 반복적으로 계속 보내야되서 for문으로 반복해서 보내고 그것을 카운트 하는 프로그램을 짜봤습니다...

한번에 한섭에 여러 클라이언트를 연결해서 보내야 되서

클라이언트 세개와 서버 하나로 돌리고 있는데요....

근데

어느정도 받다가 (약 4000번)서버쪽에서 프로그램이 죽어버리네요...

메모리 누적이나 쓰레드 누적으로 죽는 것으로는 보이지 않는데요....

클라이언트가 하나로 보내든 세개로 보내든 마찬가지입니다...

사용한 컴포넌트는 nmmsgserv 와 nmmag구요....

보내는 부분의 소스는

//---------------------------------------------------------------------------
void __fastcall TFormMain::Edit1KeyPress(TObject *Sender, char &Key)
{
  int i;
  if (Key == 13)
  {
    NMMsg1->Host = Edit3->Text;  
    NMMsg1->FromName = Edit2->Text;
    for (i=0;i<10000;i++) {                                            //한번 입력하면 만번을 보내게 해놨음
      NMMsg1->PostIt(IntToStr(i));
      Sleep(100);                                                      //한번 보낼때 0.1초에 간격을 둠
    }
  }
}
//---------------------------------------------------------------------------

이것이구요

받는 서버 부분의 소스는

//---------------------------------------------------------------------------
void __fastcall TFormMain::NMMSGServ1MSG(TComponent *Sender,
    const AnsiString sFrom, const AnsiString sMsg)
{
  Label3->Caption = sFrom+"::"+sMsg;
  count++;
  Label4->Caption = "Count ::" + IntToStr(count);             /메세지를 받은 횟수를 카운트...
}
//---------------------------------------------------------------------------
입니다...

왜 죽는지 안죽는 방법은 없는지.. 좀 알려주십시요.....

+ -

관련 글 리스트
46486 매일 질문만 해서 죄송합니다... 소캣으로 하는 채팅관련 대마두 872 2006/09/08
46515     Re:매일 질문만 해서 죄송합니다... 소캣으로 하는 채팅관련 ayh 805 2006/09/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.