2013-05-30 5 views
4

UDP를 통해 네트워크와 통신 할 코드를 작성 중입니다. udp documentation에서 목적지 주소와 포트를 지정해야만 데이터 송수신을 시작할 수 있습니다.UDP 통신에 사용할 이더넷 포트를 선택할 수 있습니까?

내가 통신 할 수있는 두 개의 별도 이더넷 포트 (잠재적으로 USB 대 RJ45 어댑터)가 있습니다. 설명서에는 데이터를 출력 할 NIC 카드를 선택하는 방법이 있는지 여부는 나와 있지 않습니다. 지정할 수 있습니까? 내 사용자는 주 이더넷 포트로 인터넷에 연결 한 다음 내 코드를 사용하여 두 번째 포트 (또는 USB-to-RJ45)와 통신합니다. (이것들은 두 개의 개별 네트워크입니다.)

+1

여기에 기본 소켓 API의 관점에서 설명하는 몇 가지 관련 질문이 있습니다. [소켓은 사용할 네트워크 인터페이스 컨트롤러를 어떻게 알 수 있습니까?] (http://stackoverflow.com/q/4297356/97160)), [기계에는 2 개의 NIC가 있습니다. 어떤 소켓에 연결할 때 활용됩니까?] (http://stackoverflow.com/q/428313/97160) – Amro

답변

2

: 그래서

http://www.mathworks.com/help/instrument/localhost.html

를 귀하의 경우

u = udp(rhost,rport,'LocalHost','IP_OF_NIC') 

Btw는 경우에 당신이 접근하는 방법을 궁금, 이 : propinfo(u)으로 개체의 모든 속성을 찾을 수 있습니다. 그런 다음 찾고있는 것과 같은 각 속성에 대한 설명서를 찾으십시오.

1

나는 이론적 인 관점에서 이야기 할 정도로 이처럼 과거에는 아무 것도하지 않았습니다. LocalHost는 로컬 시스템이 외부 엔티티에 연결하는 방법을 결정하는 것입니다. LocalHost

는 당신은 obviuosly 설정에 UDP 연결을 만들기 전에 로컬 호스트 설정을해야합니다 : 여기

는 문서에 대한 링크입니다. 나는 또한 네가 가지고있는 다른 네트워크 인터페이스의 로컬 IP 주소를 알고 있고 그것들이 정적이라는 인상을 받고있다. 그 정보를 동적으로 얻을 수있는 방법이있을 것이라고 확신하지만, 머리 꼭대기에서 익숙하지 않습니다.

최고의 행운과 희망이 도움이됩니다! Ben

4

흥미로운 질문은 왜 어떤 NIC를 통해 통신 할 것인지 선택하려는 것입니다.

요점을 놓치지 않는 한, 응용 프로그램은 연결할 서버 (ip 및 포트) 만 지정해야하며 OS의 TCP/IP 라우팅 체계는 대상 네트워크를 기반으로 사용할 적절한 NIC를 선택해야합니다 .

udp()를 호출 할 때 당신은 LocalHost 속성을 사용할 인터페이스를 선택할 수 있습니다