|
안녕하세요. 항상 포럼을 통해서 좋은 내용 배워가고있습니다.
질문이 있으어 이렇게 글을 남겨봅니다.
현재 XE3빌더를 가지고 프로그램 중입니다.
80~100여대의 장비의 이더넷 통신가능 상태를 지속적으로 감시하고자,
IdICMPClient를 통해 PING을 보내서 해당 이더넷 연결상태를 갱신하려 하고있습니다.
(쓰레드에서 타이머로 동작)
우선 4대의 PC를 대상으로 기본 베이스 작업을 하고 있고,
4대의 장비에 전원이 들어가 이더넷 통신에 문제가 없을경우 원활한 동작을 보여줍니다.
하지만, Host IP의 장비 (PC 및 임베디드 보드)가 전원이 꺼질경우. Socket Error #10040 메세지를 띄웁니다.
이때 프로그램이 동작을 멈추거나 긴 딜레이를 가지게 되어 프로그램 응답이 없습니다.
현재 단 4대 정도만을 확인하는데도 프로그램 응답이 없어서 목표 장비를 모두 확인하면 불가능하게 보일 정도입니다.
컴포넌트나 방법 적인 문제가 있는것인지 사용에 문제가 있는것인지, 잘모르겠습니다.
이러한 문제에 대하여 해결 방안이 있으시다면, 답변 부탁드리겠습니다.
해당 부분 프로그램 소스는 C++ Builder - Indy ICMP (ping) . (Youtube)를 거의 그대로 사용하였습니다.
|