Q&A

  • tcpclient 버그인지 봐주세요.
tcpclient에 버그가 있는것 같아 글을 올립니다.

tcpclient를 이용하여 unix의 특정 process를 감시하는 프로그램을 만들었읍니다.
즉 일정시간(1분) 마다 command를 unix에 보내 그에 대한 결과값을 받아와 분석하여 정상인지를 체크하는 것이죠.
근데 tcpclient가 connect 된후 결과값을 받고 disconnect가 되었는데 핸들이 계속 남습니다.
약 3시간 이상을 실행하니까 핸들이 15000개 이상까지 되었구요 TEST용 PC의 CPU 사용율이 100%가 되면서 버벅됩니다.
(제가 실행한 프로그램은 5개의 DLL에서 각각 1개의 tcpclient가 실행됨)

tcpclient가 tread에서 실행되기에 첨엔 thread 에서 다른 unit의 form에 있는 component를 access 하는 것이 잘못됐나 의심했었구요.
그런데 demos에 있는 예제를 실행해 보았더니 이도 같은 현상이 발생하더군요.

제가 demos/internet/rexec 를 가지고 test한 결과 command를 한번씩 실행할때마다(실제로는 tcpclient가 connect될때) 핸들이 3개 늘어나는 것 같더군요.

저와 같은 경험을 해보신 분이나 해결방안을 아시는 분은 꼭 좀 답변 부탁드립니다.
이젠 거의 다 완성했다고 생각했는데 이런 문제가 발생하니 만들어 논 프로그램을 다시 해야될것 같아 눈앞이 깜깜합니다.

꼭! 꼭! 답변 부탁드립니다.

0  COMMENTS
    • 이성남
    • 2002.04.09 02:43
    • 0 COMMENTS
    • /
    • 0 LIKES
    • KYH
      2002.04.09 02:47
         Memo1.SelStart := 0;    Memo1.SelLength:= 0;    Memo1.SetFocu...
    • 최용일
      2002.04.09 05:21
      안녕하세요. 최용일입니다. Scope문제 같군요... 형선언부를 위로 올리시면 될거같네요... type &nb...
    • 김진아
      2002.04.09 06:07
      조언 감사합니다. 소스를 수정해서 그 부분에서의 에러를 없애긴 했는데 다른 에러가 납니다. ----------...
    • 최용일
      2002.04.09 06:56
      델파이에서는... var     A: array[0..10] of Integer;     ...
    • 김진아
      2002.04.09 20:14
      답변 감사합니다. 오늘 아침에 답변보고 제가 하려던 부분을 만들었습니다. 좋은 하루보내세요.. ^^
    • 조현정
    • 2002.04.09 02:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.04.09 02:39
      procedure TForm1.Button1Click(Sender: TObject); begin   // SendMessage(Memo1.Handle, EM_...
    • 최석기
      2002.04.09 02:30
      지금 도움말을 찾아보니까 Cast라는 함수가 있네여.. CAST(column_reference AS data_type) ex) S...
    • 박성경
    • 2002.04.09 02:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신석기
      2002.04.25 06:14
      다른분이 질문하셔서 답을 달아드렸는데 또 있군요 ^^; 한글 ime 모드 문제입니다. 개발환경에서 사용...
    • 공선옥
    • 2002.04.09 01:28
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2002.04.11 20:22
      직접 DBGrid에 입력을 하신다면, 답을 못 찾으실 겁니다.. 당연히, Dataset.FieldByName('수량').AsIntege...
    • 최은석
      2002.04.09 03:02
      DBGrid1.Fields[4].value := strtoint(edit1.text); DBGrid1.Fields[5].value := DBGrid1.Fields[3].valu...
    • 최은석
      2002.04.09 02:18
      DBGrid1.Fields[4].value := strtoint(edit1.text); DBGrid1.Fields[5].value := DBGrid1.Fields[3].value...
    • 공선옥
      2002.04.09 21:02
      아래와 같이 하니깐 에러 뜨는데.......어떻게 해야 하죠? 그리고 아래와 같이 하면 값을 저장하는 역할...
    • 김경록
      2002.04.11 20:27
      UpdateSQL을 사용하시지 않나여? 물론, 쿼리에서는 조인을 해서 가져오면 될테구.. UpdateSQL에서는 근태...
    • 정정호
      2002.04.09 02:26
      ...
    • 염상철
      2002.04.09 00:11
      전다른방법으로... 더블클릭에 하시던지..클릭에하시던지..이벤트에... var i:integer; for i:= 0 to...
    • 프로초보
      2002.04.09 01:19
      넵..글케하니깐 되씀다~~^0^ 답변 감사드리구욤.. 시간되심 밑에거 한번만 더 봐주시길 부탁드림다.. ...
    • 염상철
      2002.04.09 02:03
      선택안된부분더..for로 비교 하니까..항상 메세지가 뜨고빠져나오는겁니다.. 첫번째..리스트박스항목을 선...
    • 최석기
      2002.04.09 01:28
      procedure Tform1.btn1Click(Sender: TObject); begin   if listbox1.Itemindex = -1 then b...
    • 프로초보
      2002.04.09 02:51
    • 최석기
      2002.04.08 23:35
      예전에 제가 테스트 해보니까 Excel을 Com 객체로 생성해서 사용하는 경우랑 비교할때 Com 객체 없이 엑셀 ...
    • 유창원
      2002.04.09 00:16
    • 유창원
    • 2002.04.08 23:23
    • 5 COMMENTS
    • /
    • 0 LIKES
    • KYH
      2002.04.08 23:34
      var     Text : TextFile;      dum:String; begin  &n...
    • 유창원
      2002.04.08 23:51
      파일에 기존에 있던 내용을 없애고 처음부터 다시 쓰려면 어떻게 해야 하나요?
    • KYH
      2002.04.09 00:04
          Rewrite(Text); --->> 걍 다시씁니다 ^^;;;
    • 유창원
      2002.04.09 00:17
    • 최석기
      2002.04.08 23:31
      이렇게 함 해보시져.. 레코드 단위로 FileStrem에 Write 해보시져.. try     ...
    • 방용균
    • 2002.04.08 23:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
    • 2002.04.08 22:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Tk
      2002.04.09 00:00
      http://www.borlandforum.com 에 있떤 내용임다.
    • 신용관
    • 2002.04.08 22:26
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정진훈
    • 2002.04.08 22:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 손규만
    • 2002.04.08 22:05
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 염상철
    • 2002.04.08 21:34
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 이성훈
      2002.04.08 22:03
      TQuery나 TTable  TField Object에서 해당Column의 EditMask를 변경하면 될것 같은데요. 그럼 ...
    • 염상철
      2002.04.08 22:57
      editMask값을 뭐라고 줘야 되져? ####-##-##하면... 2002- - 일케 나오는데... 알려주세여...
    • 염상철
      2002.04.08 23:39
      !99/99/00;0;_ 이렇게 넣으니까..되네여..
    • 염상철
      2002.04.09 02:38
      쿼리문에서.. select   substr(deliv_date,1,4)||'-'||substr(deliv_date,5,2)||'-'||substr(...
    • 박성훈
      2002.04.08 22:00
      안녕하세요? 날짜의 포맷은 제어판의 국가별설정의 영향을 받습니다. 그 부분과 관련된 사항인 것 같으...
    • 이동진
    • 2002.04.08 20:53
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 염상철
      2002.04.08 20:51
      저는..이런방법을 쓰곤 하는데염.. 쿼리를 오픈을 하지여.. With query1 do begin    &n...
    • 프로초보
      2002.04.08 23:39