开发环境:
版本:银河麒麟桌面操作系统V10(SP1)
内核:Linux 5.4.18-28.23-bj-generic
CPU:Loongson-3A5000
终端输入 uname -m 查看
架构: loongarch64
下面获取IP地址的gethostname方法在windows 上是可以获取的
在银河麒麟(linux) gethostname 获取不到IP地址,只能获取到回环地址 127.0.1.1
std::vector<std::string> WHUDP::getIpList()
{
std::vector<std::string> result;
char name[256]={'\0'};
int getNameRet=::gethostname(name,sizeof(name));
hostent *host=::gethostbyname(name);
if(NULL == host){
return result;
}
in_addr *pAddr=(in_addr*)*host->h_addr_list;
//返回指定主机名的包含主机名字和地址信息的hostent结构的指针
/*struct hostent
{
char *h_name; //正式主机名
char ** h_aliases; //主机别名
short h_addrtype; //主机IP地址类型:IPV4-AF_INET
short h_length; //主机I票地址字节长度,IPV4是4字节,即32位
char ** h_addr_list; //主机的IP