일부 IPv6 및 멀티 캐스트 네트워크 통신을 위해 부스트를 사용하려고합니다. 특정 네트워크 인터페이스 인덱스를 사용하는 IPv6 멀티 캐스트 소켓을 만들어야합니다. (CONST 부스트 :: ASIO :: IP : address_v6 & multicast_address 명시 적 multicast_request :IPv6의 올바른 "네트워크 인터페이스"번호 찾기
나는/ASIO/IP/세부/socket_option.hpp 향상에 네트워크 인터페이스 인덱스를 설정하는 올바른 멀티 캐스트 옵션을 찾을 수 있었다 서명되지 않은 long network_interface = 0)
문제는 "network_interface"매개 변수에 올바른 값을 찾는 방법을 모르겠다는 것입니다. 내가 제공 할 수있는 로컬 IPv6 주소를 사용하여 network_interface 값을 가져 오는 방법이 있습니까? 나는 문서와 예제를 살펴 보았지만 아무것도 찾을 수 없었다.
-
나는'if_nametoindex (3)'functi를 사용했다. 리눅스에, 그리고 완벽하게 작동합니다. 즉,'int interfaceIndex = if_nametoindex ("eth0"); boost :: asio :: ip :: multicast :: join_group (address.to_v6(), interfaceIndex));' – uldall