首页
学习
活动
专区
圈层
工具
发布

linux获取主机名后用gethostbyname() 不能获取主机ip,该怎么处理

linux获取主机名后用gethostbyname() 不能获取主机ip 我在虚拟机上用以下函数能获取主机ip的ip char hostname[256]; if (gethostname(...hostname, 256) == 0) { printf("localhost name:%s\n",hostname); struct hostent* hostinfo = gethostbyname...)->s_addr; printf("client_value->localip=%d\n",client_value->localip); } 但是用交叉编译器编译后放到我arm板上就不行能获取主机名但是不是获取...ip,提示段错误; 我在arm板的操作终端输入命令hostname -s会显示主机名 +unknown server error ,在虚拟机下输入该命令就只显示主机名 哪位高手帮忙指导指导arm...                }             }         }         close (fd);     }     return ip; } gethostname() gethostbyname

3.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    15.1 套接字通过域名取IP地址

    首先我们来实现一个DNS查询功能,该功能的目的是传入一个网站域名自动将该域名解析为对应的IP地址,该功能的实现依赖于gethostbyname函数,该函数将主机名作为参数,并返回一个指向hostent类型结构的指针...,结构包含有关主机的信息。...h_name是主机名,h_addr_list是一个指向具有主机IP地址的地址列表的指针。hostent 是一个结构体,用于存储主机的基本信息,包括主机名、主机别名、IP 地址类型和地址列表等。...= 0) { return "None"; } // 获取当前主机结构体信息 struct hostent *ptr = gethostbyname(HostName); if (!...return inet_ntoa(inAddr); } return "None";}int main(int argc, char *argv[]){ char * HostAddress = GetHostByName

    2.8K40
    领券