죄송합니다.질문을 잘못 이해하고 답변했네요.
랜케이블이 빠졌을때 어떻게 경고창을 띄우는 지로 이해했네요.
네트웍에서 장치를 제거하면 어떻게 구현해야 하는지.. 이렇게 이해했어야 하는건데 ..
빌더님이 ICMP 얘기하셨는데 훌륭한 방법이라고 생각합니다.
하지만 포트스니핑을 막기 위해 PING을 막는경우도 종종 있기 때문에 모든 기기에 통용되진 않을것 같습니다.
기기에 PING체크를 해서 응답이 오는지 확인해보고 응답이 오지 않는다면 연결이 정상적이지 않거나
ICMP포트가 막힌것으로 간주해야 합니다. ICMP를 쓸 수 없는 경우라면 아래 링크에 나오는 방법을 참고해보세요.
http://kldp.org/node/32105
빌더 님이 쓰신 글 :
: 김권영 님이 쓰신 글 :
: : 참고하세요.
: :
http://itbaby.egloos.com/4742980
: :
: : 인디 님이 쓰신 글 :
: : : hugecherry 님이 쓰신 글 :
: : : : 안녕하세요 항상 볼랜드포럼에서 도움 많이 받고 있습니다..ㅠ
: : : : 제가 프로젝트를 하나 하고 있습니다.
: : : :
: : : : 어떤 장치와 빌더로 구현한 프로그램사이의 TCP/IP 통신을 해야 합니다.
: : : : 장치와 프로그램은 서로의 아이피를 알고 있구요..
: : : :
: : : : 하나의 장치와 프로그램간의 정상적인 동작을 하고 있다고 가정하구요,
: : : : 추가적인 또다른 장치가 랜과 연결되면 프로그램은 그것을 표시해야 합니다.
: : : : 구현하는 방법좀 알려주세요 ㅠ
: : : :
: : : : 그리고 정상적인 동작중에 장치의 랜이 빠지게 되면 어떻게 구현해야 경고창을 띄울수 있을까요ㅠㅠ
: : : :
: : : : Indy10버전이구요...ㅠㅠ
: : : : 너무어려운것 같아요..부탁드릴께요 ㅠㅠ
: : :
:
:
:
:
: InternetGetConnectedState() Win32 API는 컴에 설치되어있는 로컬 네트웍 인터페이스의 유형을 알아내는
: 정도일 뿐이고... 문제의 본질적인 해결방법이 되지는 못합니다.
:
:
: 타겟보드와 TCP 또는 UDP로 통신을 하고 있다면 해당 Embedded Board 가 TCP/IP 프로토콜 스택을 Full로
: 지원하고 있다고 볼수 있으니까 IP Datagram ICMP를 이용해 보세요.
:
: TCP/IP 프로토콜 스택은 ICMP를 반드시 IP 모듈에서 구현하도록 스펙에서 강제하고 있습니다.
:
: 따라서...
:
: 타겟 보드 A가 IP 주소 200.100.100.100 을 사용하고, B가 IP 주소 200.100.100.101 을 사용하고 있다고
: 가정한다면.. 해당 타겟 보드의 IP 주소로 ICMP 에코 패킷 데이타그램을 보내면, 실제로 네트웍상에 해당 타겟
: 보드가 랜으로 연결되어 있을 경우, 타겟 보드는 TCP/IP Protocol Stack 에서 정의하고 있는 스펙 규정대로...
: ICMP Response 패킷을 보내 줄 것 입니다.
:
: 특정 시간이 지나도... 응답 패킷이 돌아오지 않는다면 해당 IP 주소를 사용하는 타겟 보드는 네트웍에 연결되어
: 있지 않다고 판단하면 되는 거죠.
:
: ICMP Datagram은 TCP/IP Protocol 스펙에 의해서... 프로토콜 Stack의 IP 계층에서 다뤄지기 때문에...
: 양단 간에 Connection 관계가 맺어져 있지 않더라도 네트웍 장비 간의 상태를 확인 할 수 있습니다.
:
: 코드를 구현하기에 어려운 부분은 없을 겁니다. 네트웍 프로토콜 쪽을 다뤄본 경험이 없다면 ping 유틸리가
: 어떻게 구현되어 있는지 참고해 보세요.