日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

如何通过c语言获取ipv6邻居表,急求在vc++6.0中获取IPV6地址的方法,高手请进,谢谢!!...

發布時間:2025/3/19 c/c++ 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何通过c语言获取ipv6邻居表,急求在vc++6.0中获取IPV6地址的方法,高手请进,谢谢!!... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本人最近getaddrinfo函數獲取本機IP地址,本機的IPV4地址能正確獲得,但本機IPV6地址只能獲得環路地址,即::1。為什么不能獲得IPV6的Global地址或鏈路本地地址。懇請指點,不勝感激!如果還有其它獲取方法請告知,謝謝!源代碼如下:

char AddrName[128];

int RetVal;

BOOL RunForever = FALSE;

WSADATA wsaData;

struct addrinfo Hints, *AddrInfo, *AI;

CString str;

if ((RetVal = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0)

{

str.Format(“WSAStartup failed with error %d\n“,RetVal);

m_listbox.AddString( str );

WSACleanup();

return ;

}

char szhostname[128];

memset(szhostname,0,128);

memset(&Hints, 0, sizeof(Hints));

Hints.ai_family = AF_UNSPEC;

//Hints.ai_family = AF_INET6;

Hints.ai_socktype = SOCK_STREAM;

Hints.ai_flags=AI_CANONNAME;

gethostname(szhostname,sizeof(szhostname));

RetVal = getaddrinfo(static_cast(szhostname),0, &Hints, &AddrInfo);

if (RetVal != 0)

{

str.Format(“不能解析:主機[%s],錯誤 %d: %s\n“,szhostname, RetVal, gai_strerror(RetVal));

m_listbox.AddString( str );

WSACleanup();

return;

}

//將IP 地址轉換成數字式字符文本

for (AI=AddrInfo; AI!= NULL;AI=AI->ai_next)

{

if (getnameinfo(AI->ai_addr,AI->ai_addrlen,AddrName,sizeof(AddrName),NULL,0,NI_NUMERICHOST) != 0)

strcpy(AddrName, ““);

str.Format(“IPv%d: %s\n“,(AI->ai_family==AF_INET6?6:4), AddrName);

m_listbox.AddString( str );

}

WSACleanup();

人打賞

0人 點贊

主帖獲得的天涯分:0

舉報 |

樓主

|

樓主發言:1次 發圖:0張 | 添加到話題 |

總結

以上是生活随笔為你收集整理的如何通过c语言获取ipv6邻居表,急求在vc++6.0中获取IPV6地址的方法,高手请进,谢谢!!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。