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
[14008] IdTCPClient에서 여러대의 IdTCPServer로 데이터를 보내는데요.
김수정 [] 1798 읽음    2011-12-28 17:22
아래 소스코드를 봐주세요.

....
VAR
Clien : Array of TIdTCPClient;
....
....

procedure TForm1.FormCreate(Sender: TObject);
var
IPAddr : String;
i : Integer;
Begin
     .....
     .....
     for I := 0 to ListBox1.Count - 1 do
     Begin
          IPAddr := ListBox1.Items.Strings[i];

          Client[i] := TIdTCPClient.Create(Application);
          Client[i].ConnectTimeout := 200;
          Client[i].IPVersion := Id_IPv4;
          Client[i].Port := 97;
          Client[i].Host := IPAddr;
          TRY
               Client[i].Connect;
          Except
               Memo1.Lines.add('Connect Error : ' + IPAddr);
          END;
     End;
End;


폼이 생성될때 클라이언트를 만들어 넣어주고 connect하는데요.

10개 이상의 클라이언트를 생성하려 하면 문제가 생깁니다.
처음엔 10개의 TIdTCPClient가 생성되고 30초 동안 아무것도 안움직이고 멈춰있습니다.
그 다음 부터는 5개가 생성된 다음 30초씩을 기다려야 추가로 또 5개씩 생성됩니다.

그뿐이 아니예요.
간혹 서버는 문제가 없는데 Connect가 안되는 경우가 불규칙하게 발생합니다.

TIdTCPClient를 배열로 하지 않고 TObjectList 또는 TComponentList에 넣어서 해봐도 마찬가지입니다.
이 문제를 해결할 수 있는 방법을 알려주시면 감사하겠습니다.

+ -

관련 글 리스트
14008 IdTCPClient에서 여러대의 IdTCPServer로 데이터를 보내는데요. 김수정 1798 2011/12/28
14009     Re:IdTCPClient에서 여러대의 IdTCPServer로 데이터를 보내는데요. kylix 2859 2011/12/28
14011         Re:Re:IdTCPClient에서 여러대의 IdTCPServer로 데이터를 보내는데요. 김수정 3334 2011/12/29
14012             IdTCPClient에 쓰레드 적용. 도움이 되시길... 조대현.Clau 3993 2011/12/30
14013                 Re:IdTCPClient에 쓰레드 적용. 도움이 되시길... 김수정 2245 2011/12/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.