Q&A

  • IdUDPServer에서의 오류에 대해서...
인디 컴포넌트 8.*** 버전을 사용중입니다.

UDPServerRead를 이용하여 클라이언트로부터 오는 데이터를 받는데..

불특정한 시점에서부터 UDPServerRead 이벤트가 동작을 안합니다.

클라이언트에서는 계속 정상적으로 데이터를 보내옵니다.

그런데 UDPServerRead 이벤트에서는 클라이언트 데이터에 대한 처리를 하

지 않습니다.

데이터를 받은 후 체크하여 정상일경우 수행되는 이벤트가 당연히 수행이 안됩닏.

걸리지가 않네요.

Indy컴포넌트의 버그라는 글들을 게시판에서 자주 보았는데..

혹시 위와 같은 현상을 경험하신 분중 해결책을 찾으신 분의 조언을 구합니다.


1  COMMENTS
  • Profile
    이현철 2002.06.19 23:08
    혹시, 네트워크 프로그램의 통신방법은 UDP로 하신다면,
    다시 한 번 생각하시는 것이 좋을 것 같습니다.

    저는 현재 desingmade.com 에서 RCmade 란 제품을 개발하였는데
    이것은 수십 ~ 수천대의 PC를 중앙서버에서 관리하는 소프트웨어입니다.

    저도 처음 버젼에는 INDY의 UDP 를 써서 소프트웨어를 개발
    하였으나, 수많은 업체/학교/기관 등에 개발 완료된 소프트웨어를
    설치하여 운용하던 중에, 몇몇 통신상의 문제점이 발견되어서
    현재는 델파이 기본 소켓(TCP)으로 프로토콜을 바꾸었습니다.

    UDP로 할경우, 우선 몇몇 기관 네트웍에서 불안한 현상을 보였습니다.
    UDP CLIENT 에서 서버에게 특정 메세지를 보냈으나, 서버에서
    받지 못하는 상태가 가끔씩 일어나더군요.. 항상 설치하면서 찜찜한
    느낌으로 테스트를 했었는데.. TCP 로 바꾼후 부터는 통신상의
    메세지 송수신 만큼은 걱정하지 않아도 될만큼 안정화 되었습니다.

    물론, 어떤 프로토콜을 쓰던지간에, 개발자가 자기만의 패킷형태를
    정의하여, 해석 및 패킷 체크를 얼마나 안정되게 하느냐가 통신의
    가장 중요한 것이겠지만.. 똑같은 내부 패킷처리 루틴으로 프로토콜
    만 변경하였을경우, 위에서 말씀드린데로 상이한 결과가 나오는것
    대해서는 아예 개발을 하실때에 TCP 로 하시는것이 좋을 듯합니다.

    한가지 더 예로, 현재 메신저를 개발하는 친구가 있는데, 그친구도
    마찬가지로 UDP 로 개발을 한다가 지금은 TCP 로 바꾼 상태입니다.

    이론과, 현장 실무에서의 소프트웨어는 조금씩 다르게 동작하는것
    같습니다..

    조금이나마 도움이 되셨는지 모르겠네여..
    그럼..



    from Neosiz.com