11
모든 네트워크 카드 (두 장의 카드가 있음)의 ipv4 및 ipv6 주소를 열거하려고합니다.boost asio를 사용하여 내 카드의 ipv4 및 ipv6 주소를 열거 함
다음 코드를 사용하고 있습니다.
using boost::asio::ip::tcp;
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(boost::asio::ip::host_name(),"");
tcp::resolver::iterator it=resolver.resolve(query);
while(it!=tcp::resolver::iterator())
{
boost::asio::ip::address addr=(it++)->endpoint().address();
if(addr.is_v6())
{
std::cout<<"ipv6 address: ";
}
else
std::cout<<"ipv4 address: ";
std::cout<<addr.to_string()<<std::endl;
}
이 코드는 올바른 ipv4 주소는 표시하지만 ipv6은 표시하지 않습니다. 출력은 다음과 같습니다.
ipv6 address: ::1
ipv4 address: 192.168.10.200
ipv4 address: 192.168.10.236
저는 ipv6에 대한 지식이 매우 있습니다. 내가 ipconfig를를 사용하여 네트워크 인터페이스에 대한 정보를 나열 할 때/모든 나는
fe80::226:5aff:fe14:5687%5
fe80::225:64ff:feb2:4f61%4
사람이 어떻게 IPv6 주소를 나열하는 나를 인도시겠습니까 실제 IPv6 주소는 것을 알 수있다. 감사합니다. .
'FE80는 ::'링크 로컬 범위가 가능 부스트 만 글로벌 범위 주소를 열거 주소입니다. –