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
[75838] Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우...
김시환 [godson2] 1294 읽음    2020-04-24 09:26
Indy TCP Server 를 사용하여 프로그램을 하고 있습니다.
외부 클라이언트에서 특정한 동작 요청이 있을 경우 서버 프로그램은 무한 루프 함수를 실행하게 됩니다.

그런데 이렇게 될 경우 이 서버가 다른 클라이언트 요청은 정상적으로 수행하는데 이 무한루프 함수를 요청한 클라이언트의 다른 요청은 이 무한루프를 빠져 나가기 전에는 수행을 못합니다.

아래 코드의 상황 입니다.

void __fastcall TForm1::TCPServerExecute(TIdContext *AContext)
{
    TIdBytes ABuffer;
    AContext->Connection->IOHandler->ReadBytes(ABuffer, -1, false);
    int action = Parsing(ABuffer) ;

    if( action == 1) LOOP() ;
}

void __fastcall TForm1::LOOP()
{
    while(true)
    {
       if(m_UserStop == true) break ;
       Sleep(100) ;
    }
}

결국 클라이언트의 요청이 완전히 동작 완료하기 전에는 동일한 클라이언트의 다른 요청에는 응답을 하지 못한다는 의미인데 이런경우 어떻게 해결하는 것이 좋을까요??
Callback 같은 걸로 해결하는 방법이 있을까요?

+ -

관련 글 리스트
75838 Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 김시환 1294 2020/04/24
75851     Re:Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 처음과같이 1228 2020/05/13
75839     Re:Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 정성훈.해미 1189 2020/04/24
75841         Re:Re:Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 김시환 1183 2020/04/24
75845             Re:Re:Re:Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 빌더(TWx) 1259 2020/05/08
75846                 Re:Re:Re:Re:Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 금목암 1071 2020/05/10
75849                     Re:Re:Re:Re:Re:Indy TCP Server 에서 무한 루프를 동작 함수를 호출하는 경우... 김시환 1121 2020/05/11
75847                     Re:C++20 CoRoutine 테크닉 빌더(TWx) 1443 2020/05/10
75848                         Re:Re:C++20 CoRoutine 테크닉 김시환 1217 2020/05/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.