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
[66268] Re: IP Datagram ICMP를 이용하면 됩니다.
빌더 [] 1393 읽음    2012-02-14 17:12
김권영 님이 쓰신 글 :
: 참고하세요.
: 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 유틸리가
어떻게 구현되어 있는지 참고해 보세요.

+ -

관련 글 리스트
66259 처음 질문해보네요ㅠ 장비와 GUI 간의 Indy...ㅠ hugecherry 1025 2012/02/13
66265     Re:처음 질문해보네요ㅠ 장비와 GUI 간의 Indy...ㅠ 인디 1056 2012/02/14
66267         Re:Re:처음 질문해보네요ㅠ 장비와 GUI 간의 Indy...ㅠ hugecherry 1017 2012/02/14
66266         Re:Re:처음 질문해보네요ㅠ 장비와 GUI 간의 Indy...ㅠ 김권영 967 2012/02/14
66268             Re: IP Datagram ICMP를 이용하면 됩니다. 빌더 1393 2012/02/14
66276                 Re:Re: IP Datagram ICMP를 이용하면 됩니다. 김권영 1700 2012/02/15
66285                     Re:Re:Re: 권영님 아직 이해를 못하고 계신거 같아여 인디 1200 2012/02/15
66288                         Re:Re:Re:Re: 권영님 아직 이해를 못하고 계신거 같아여 김권영 1189 2012/02/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.