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
[55841] Re:랜카드가 두개일때... 원하는 랜카드로의 통신
남병철.레조 [lezo] 4010 읽음    2009-01-20 13:02
통신할때는 해당 랜카드의 특정 포트에 바인딩 하게 되는데 INADDR_ANY가 아니라
해당 랜카드에 할당된 IP가 세팅된 sockaddr_in 구조체를 바인딩 하시면 됩니다.

struct sockaddr_in {
        short   sin_family;
        u_short sin_port;
        struct  in_addr sin_addr;
        char    sin_zero[8];
};

sockaddr_in addr 선언
addr->sin_addr.s_addr = 특정 랜카드 IP가 설정된 (sockaddr_in*)->sin_addr.s_addr;
::bind(소켓, (sockaddr*)&addr, sizeof(addr))

TCP의 경우 네트웍 설정 순서는 bind -> listen -> accept
물론 UDP의 경우도 바인딩해서 해당 랜카드를 지정해 주시면됩니다.
소켓 사용하는 코드는 윈속 관련 책자에 예제가 많이 있으니 참고하세요.



번외편 님이 쓰신 글 :
: 안녕하세요
: 시빌더 접한지 일년이 다되어가지만 여전히 삽질만 하고 있는 번외편입니다..
:
: 아직까지도 네트워크에 취약해 질문좀 드리겠습니다.
:
: 컴퓨터에 랜카드가 2개가 장착되어 있는데
:
: 인디나 소켓, 혹은 다른것도 상관없습니다.
:
: 꼭 컴포넌트가 아니라 WinAPI여도 상관없다는거지요.
:
: 를 이용해서 원하는 랜카드로 송 수신이 가능한지에 대해 질문드립니다.
:
: 랜카드 1번 2번이 있다면 route print에서의 Default Gateway의 우선순위가 랜카드 1번이 되어있어도
:
: 우선순위 상관없이 2번으로 통신을 할수 있는지를 알고 싶습니다.
:
: 위의 방법이 안된다면 다른 어떤 방법으로 가능한지에 대해서라도 알려주셨으면 감사하겠습니다.
:
: 좋은 하루 되세요~

+ -

관련 글 리스트
55830 랜카드가 두개일때... 원하는 랜카드로의 통신 번외편 1617 2009/01/19
55841     Re:랜카드가 두개일때... 원하는 랜카드로의 통신 남병철.레조 4010 2009/01/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.