Q&A

  • Indy로 하는 것과 안하는것의 차이?
안녕하십니까..

진짜 초봅니다..TClientSocket을 이용해서 클라이언트 프로그램을 하나 만들었습니다..그런데 쓰레드를 써야될꺼 같아서 이리저리 Q&A를 뒤져보니 대부분의 통신프로그램을 인디로 많이 짜셨더라구요..



인디는 전혀 몰라서 그러는데요..

이걸루 쓰는거랑 안쓰는거랑 어떤차이가 있나요?

쓰는것이 좋은가요? 좋으면 어떤 점들이 좋은지...(대강이라도..)



저는 지금 심각한 딜레머에 빠져 있습니다..겨우겨우 짰던 통신프로그램을 계속 고수할것이냐, 아니면 생판 모르는 인디라는 놈을 이용해서 다시 할꺼냐..라는 ..^^



답변좀 주십시요..고수님들..^^;;



그리고 저의 하소연(?)을 끝까지 읽어주신 고수분들께 행운이~~

1  COMMENTS
  • Profile
    전철호 2001.12.19 12:07
    진짜 초보.. wrote:

    > 안녕하십니까..

    > 진짜 초봅니다..TClientSocket을 이용해서 클라이언트 프로그램을 하나 만들었습니다..그런데 쓰레드를 써야될꺼 같아서 이리저리 Q&A를 뒤져보니 대부분의 통신프로그램을 인디로 많이 짜셨더라구요..

    >

    > 인디는 전혀 몰라서 그러는데요..

    > 이걸루 쓰는거랑 안쓰는거랑 어떤차이가 있나요?

    > 쓰는것이 좋은가요? 좋으면 어떤 점들이 좋은지...(대강이라도..)

    >

    > 저는 지금 심각한 딜레머에 빠져 있습니다..겨우겨우 짰던 통신프로그램을 계속 고수할것이냐, 아니면 생판 모르는 인디라는 놈을 이용해서 다시 할꺼냐..라는 ..^^

    >

    > 답변좀 주십시요..고수님들..^^;;

    >

    > 그리고 저의 하소연(?)을 끝까지 읽어주신 고수분들께 행운이~~



    델파이에서 제공하는 TServerSocket은 쓰레드로 관리가 됩니다.

    Indy 에서 제공하는 TIdcpServer도 마찬가지지요.

    단 차이점이라면

    TServerSocket은 이벤트 중심인 non-blocking 방식으로 처리하고

    Indy는 이벤트 중심이 아닌 처리 절차를 중요시하는 blocking방식을

    채택하고 있습니다.



    안정성을 본다면 전 Indy를 추천하고 싶습니다.

    왜냐하면 다중 처리를 하는 서버일 경우 다중 쓰레드로 처리를 하야되는데

    non-blocking방식에서는 다중처리시 동기화 작업을 할 경우 좀 까다롭고

    해결하기가 좀 난해한 점이 많습니다.

    하지만 blocking방식은 다중 쓰레드 처리시 동기화 작업을 할 경우

    아주 손 쉽게 할 수 있습니다.



    그리고 제가 써본 결과 Indy 소켓 콤포넌트는 안정성이 매우 우수합니다.

    서버 작업시 다중처리 부분만 잘 처리한 다면 아주 훌륭한 서버를

    만들 것이라고 생각이 됩니다.