Q&A

  • Indy소켓에서 Suspend / Resume
저번에 최용일님 말씀대로
한개의 클라이언트가 Suspend/Resume을 하기 위해서
두개의 소켓을 생성하여 한 소켓은 Suspend 다른 한 소켓은 Resume을
하도록 구현하였습니다.

근데, 그렇게 A라는 클라이언트가 2개의 소켓으로 중지/재시작의 작업을 수행했고,

결국 성공했는데요....
문제는 서버가 계속 실행중인 상태에서 위 작업을 딱 한번밖에 못합니다.

똑같은 A라는 클라이언트가 다시 접속하여, 위와같은 작업을 다시 하기위해
두개의 소켓을 가지고 작업을 하려는데 Suspend시켜놓은 후,
다른 한 소켓이 Resume을 시켰는데도, Resume이 되질 않습니다.

어떻게 해야할지요....
최용일님...고수님들 부탁드립니다...ㅡ.ㅜ;;;

(
소스 첨부할께요...Disconnect/Connect/Resume/Suspend 쪽
확인 부탁드릴께요...ㅡ.ㅜ;;
한소켓은 strID := 'Test'  (이넘은 항상 Suspend역할),
다른 한 소켓은 strID := '_Test' (이넘은 항상 Resume역할)
이런식으로 구분합니다.
)

꼭~좀 부탁드립니다.....
2  COMMENTS
  • Profile
    최용일 2003.10.16 02:20
    안녕하세요. 최용일입니다.

    서버의 인디커넥션쓰레드(TIdPeerThread)는 제대로 Suspend, Resume되는데요...

    님이 원하시는게 서버의 OnExecute이벤트 실행중에 작업을 멈추게 하려는거 같은데... 이건 서버의 인디커넥션쓰레드내에서 돌아가는게 아님니다. 서버(TIdTCPServer)가 알아서 돌려주는거죠... 쓰레드의 Suspend, Resume하고 서버의 OnExecute하고는 별로 상관관계가 없습니다.

    이런식의 접근 방식은 별로 추천할만한게 아니네요...

    저번에 얘기했던데로 프로토콜을 다시 정의하세요... 클라이언트가 일정부분의 데이터만 서버에 요청해서 얻어올 수 있도록...

    ^^ 항상 즐코하세요...

  • Profile
    뾰옹 2003.10.16 03:01
    감사해요.....
    이렇게 빠르게 답변이 올줄은......(왕~)

    처음써보는 컴포넌트인지라....도움말도 찾기 힘들구...
    저는 Delphi 4.0에다가 인디 올려서 쓰구 있거덩요...ㅡ.ㅡ;;;

    앞으로...도움 많이 받게 될꺼 같네요....

    항상 조언, 도움 주셔서 감사합니다....

    그럼, 좋은하루 되세요~
    • 델파이Go!
      2003.10.17 19:34
      데브비아 시삽님이 올리신 글입니다. 필요하신분 참고하시길..
    • 김유빈
    • 2003.10.16 01:32
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 뾰옹
    • 2003.10.16 00:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.10.16 02:20
      안녕하세요. 최용일입니다. 서버의 인디커넥션쓰레드(TIdPeerThread)는 제대로 Suspend, Resume되는데요...
    • 뾰옹
      2003.10.16 03:01
      감사해요..... 이렇게 빠르게 답변이 올줄은......(왕~) 처음써보는 컴포넌트인지라....도움말도 찾기 ...
    • Galaxy
      2003.10.16 02:56
      안녕하세요 수고 많습니다. 질문 내용이 이런것입니까? with Query1 do     &nb...
    • 민경철
      2003.10.16 03:56
      예..감사합니다..... 대충은 알것 같습니다... 그런데.. 제가..질문내용중에 빠진것이..... 웹쪽에..트...
    • Galaxy
      2003.10.17 02:37
      수고 많습니다. 아무리 생각 해도 다른 좋은 방법이 생각 나지 않습니다. "From 절에서의 SubQuery" ...
    • 민경철
      2003.10.17 04:17
      도움주시고 관심주셔서 너무 감사드립니다.. 아 저 옆에 답변 주셨는데요.. 그 분께서 가르쳐주신대로 하...
    • Galaxy
      2003.10.17 06:27
      감사 드립니다. 다음에 이런 일이 있으며 사용하겠습니다. 많은것을 배웠습니다. 그럼 수고 하세요
    • 성더기
      2003.10.17 00:27
      SqlStr := 'SELECT...'; With DM do begin   Query.Close;   Query.SQl.Text := S...
    • 민경철
      2003.10.17 04:20
      와 가르쳐 주신대로 적용하니까..잘 되네요... 너무 감사드립니다..... 에고..요새 거의 여기 한델에...
    • • • •
    • shem
    • 2003.10.15 23:10
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 연기훈
      2003.10.15 23:29
      우선 1번째 방법은 안될꺼 같네요. 실행된 파일을 다시 복사해서 덥어 써야 하는데 원도우에서 실행...
    • shem
      2003.10.15 23:42
      답변 감사합니다. 근데 응용프로그램 실행에 대한 예제나 답변을 찾기가 힘드네요. 소스나 설명좀 부탁드...
    • 최용일
      2003.10.16 02:22
      안녕하세요. 최용일입니다. WinExec나 ShellExecute로 실행하세요... 예제야 델파이 도움말이나 여기...
    • 조경모
    • 2003.10.15 22:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강형철
      2003.10.15 23:48
      질문한 소스가 잘못되었네요... x := 50; a := Format( '%4.4d', [ 40 + x ] );   b := For...
    • 최용일
      2003.10.15 23:37
      안녕하세요. 최용일입니다. FormatFloat함수를 사용하세요... FormatFloat('0000', [40+x]); ^^ ...
    • 연기훈
      2003.10.15 23:23
      숫자를 문자열로 변경한후 앞에 0을 추가해주어야 합니다. format으론 원하는 결과가 안나옵니다.
    • 윤태정
    • 2003.10.15 21:15
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임진묵
      2003.10.15 21:47
      디비 그리드에 ontitleclick 이란 이벤트가 있는데요... 컬럼.필드네임 하면... 누르신 필드네임...
    • nilriri™
      2003.10.16 01:06
      procedure Tacc0105f.dbg_projectTitleClick(Column: TColumn); begin     if (pos(...
    • 이윤도
    • 2003.10.15 19:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임진묵
      2003.10.15 21:27
      qrRichText1.lines.add(cells...) 라덩가 qrRichText1.Text := Cells....  이거 아닌가요?
    • 이윤도
      2003.10.15 23:24
      답글 감사합니다.!!! 원인을 찾았습니다...! 제가 폼이생성될때그값을 넣었더라구요!!! 그래서 이벤...
    • 최용일
      2003.10.15 19:41
      안녕하세요. 최용일입니다. 그 에러라는게 아마두 응답없음 같은데... 혼자서 CPU를 독점해서 다른 프로...
    • 박상원
      2003.10.15 20:21
      감사합니다.
    • 김민호
    • 2003.10.15 07:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2003.10.17 00:30
      트랜젝션이 실행중인데 다시 트랜젝션을 걸려고 하니깐 나는 에러같은데요? 먼저 StartTransaction이 있는...
    • Formas
      2003.10.15 08:06
      안녕하세요^^ 비록 제가 델파이는 잘 못하지만, 나르대로 C/C++를 합니다. 일단 실행파일은 델파이나, C/...
    • Formas
    • 2003.10.15 05:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.10.15 19:32
      안녕하세요. 최용일입니다. 흠~ 좀 두꺼운 책한권사서 공부하시는게 좋을거 같네요... CreateFile, R...
    • 이현경
    • 2003.10.15 03:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2003.10.17 00:44
      프린터 드라이브 아무거나 하나 설치해보세요
    • 살며배우며
      2003.10.15 06:37
      a테이블에 값과 b테이블에 값이 같은 값을 가져와야 한다는 말씀인가요? 맞다면 쿼리에서 조인을 걸면 ...
    • 민경철
      2003.10.15 07:36
      예..그런데..테이블 컬럼이 좀 많아요..제가..설계를 잘못했는지(^^:)..... 그리고..작업내용상 단계로 내...
    • 연기훈
      2003.10.15 19:56
      결국 2개에서 자료 찾아서 3번째 테이블에서 데이터 가져 오는 거네요.. 그럼 테이블 조인하는거랑 프로...
    • 민경철
      2003.10.15 23:33
      답변 주셔서 감사드리고요.... 제가...설계를 잘 못 한거 같아요...^^;;;; 레코드양이 많아서요.. 하나...
    • 송영배
    • 2003.10.15 01:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.10.15 01:35
      안녕하세요.최용일입니다. 인디에는 WriteLn뿐만아니라 WiteInteger, WiteBuffer등의 여러가지 데이터를...
    • 강형철
      2003.10.15 00:55
      이상이 없는데요... 참고로 Rewrite는 파일을 생성하고 생성된 파일을 여는 함수입니다... 그러므로 기...
    • 민경철
      2003.10.15 01:05
      말씀하신 대로 프로그램을 이해하고 다른 환경쪽, 지정해준... 폴더가 있는지 등을 확인하고 했더니..잘 되...