【2019-08-21】使用DNS函数获取IP地址简单代码笔记

发布时间:2026/11/15 0:47:33

【2019-08-21】使用DNS函数获取IP地址简单代码笔记 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2019-08-21 标题使用DNS函数获取IP地址简单代码笔记分类编程 / C C 标签CC·gethostbyname·getaddrinfo使用DNS函数获取IP地址简单代码笔记话不多说在网络编程中我们一般都要对域名进行DNS解析解析函数一般都是gethostbyname但是这个函数已经被过时了而且有多线程风险现在官方建议使用getaddrinfo那么这里我们就简单笔记下如何使用这2个API#includestdio.h#includearpa/inet.h#includenetdb.h#defineLOGprintfvoidtest_gethostbyname(constchar*p_hostname){LOG(test gethostbyname begin--);char**pptrNULL;structhostent*hptrNULL;if((hptrgethostbyname(p_hostname))NULL){LOG(gethostbyname error.errno:%d error:%s ,h_errno,hstrerror(h_errno));return;}LOG(h_name:%s ,hptr-h_name);LOG(h_aliases:);for(pptrhptr-h_aliases;*pptr!NULL;pptr)LOG( alias:%s ,*pptr);LOG(h_length:%d ,hptr-h_length);LOG(h_addrtype:%d ,hptr-h_addrtype);switch(hptr-h_addrtype){caseAF_INET:{LOG(h_addr_list:);for(pptrhptr-h_addr_list;*pptr!NULL;pptr){charstr[INET_ADDRSTRLEN]{0};LOG( addr:%s ,inet_ntop(hptr-h_addrtype,*pptr,str,sizeof(str)));}break;}default:{LOG(unknown h_addrtype:%d ,hptr-h_addrtype);break;}}LOG(test gethostbyname finish--);}voidtest_getaddrinfo(constchar*p_hostname){LOG(test getaddrinfo begin--);intresult_code0;structaddrinfohints,*addr_list,*cur;memset(hints,0,sizeof(hints));hints.ai_familyAF_UNSPEC;hints.ai_socktype0;// SOCK_STREAM OR SOCK_DGRAMhints.ai_protocol0;// IPPROTO_TCP OR IPPROTO_UDPhints.ai_flags0;if((result_codegetaddrinfo(p_hostname,NULL,hints,addr_list))!0){LOG(getaddrinfo error.result:%d error:%s ,result_code,gai_strerror(result_code));return;}LOG(addr_list:);for(curaddr_list;cur!NULL;curcur-ai_next){LOG();LOG( ai_flags:%d ,cur-ai_flags);LOG( ai_family:%d ,cur-ai_family);LOG( ai_socktype:%d ,cur-ai_socktype);LOG( ai_protocol:%d ,cur-ai_protocol);LOG( ai_addrlen:%d ,cur-ai_addrlen);structsockaddr_in*addr(structsockaddr_in*)cur-ai_addr;charstr[INET_ADDRSTRLEN]{0};LOG( ai_addr:%s ,inet_ntop(cur-ai_family,addr-sin_addr,str,sizeof(str)));LOG( ai_canonname:%s ,cur-ai_canonname);LOG();}freeaddrinfo(addr_list);LOG(test getaddrinfo finish--);}voidtest_dns(constchar*p_hostname){LOG(test hostname:%s ,p_hostname);test_gethostbyname(p_hostname);test_getaddrinfo(p_hostname);}intmain(intargc,char*argv[]){test_dns(argv[1]);return0;}
延伸阅读

更多相关文章

2026/11/12 1:49:00

用C#手写TCP调试助手:从Socket到Modbus拆帧的完整工程实践

简介:一套基于C#语言实现的TCP网络调试助手,面向.NET开发者和网络通信调试人员,用于解决TCP协议调试中数据收发、并发连接和格式分析等痛点。压缩包共56个文件,大小3.53MB,包含12个cs源码文件、6个exe可执行程序、4个p…

2026/11/12 1:52:22

tick-stock-panel Numba加速实战:回测引擎性能优化完整指南

tick-stock-panel Numba加速实战:回测引擎性能优化完整指南 【免费下载链接】tick-stock-panel TSP自托管、零运维的 A 股「选股 监控 回测」量化工作台 | LLM能力驱使策略定制个股分析复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源 项目地址: https…

2026/11/15 0:42:52

电工证过期了怎么报名丽江市电工证培训

电工证过期了怎么报名丽江市电工证培训 证书过期了不知道怎么复审延期?别慌,很多人在工作中都会遇到这个问题,尤其是像低压电工、高压电工这类特种作业操作证,一旦过期,就会影响正常上岗或承接项目。如果你正在丽江,想找【丽江市电工证培训】,那你知道…

2026/11/15 0:42:52

南桥哪里考电工证多少钱能一次过

南桥哪里考电工证多少钱能一次过 怕考不过白交培训费?南桥电工证考试到底多少钱?别急,今天咱们就来聊聊这个事,讲讲怎么选培训机构、怎么备考、怎么避免踩坑。 一、南桥电工证考试到底值不值得考? 你可能在想:“我是不是必须考这个证?”其实,…

2026/11/15 0:42:52

证书过期了不知道怎么复审延期?考电工证贺兰县真实经历全揭秘

证书过期了不知道怎么复审延期?考电工证贺兰县真实经历全揭秘 证书过期了不知道怎么复审延期?这事儿真不是小事,我身边就有个朋友,因为没及时复审,差点丢了工作。今天就来聊一聊【考电工证贺兰县】的那些事,包括怎么考、怎么复审,还有考试内容、备考建…

2026/11/15 0:42:52

_特种作业操作证电工证全国通用吗

电工证考不过怕被扣钱?特种作业操作证电工全国通用怎么考 你是不是也觉得学历不高,担心自己根本考不上特种作业操作证电工?别急,今天就给你说清楚, _特种作业操作证电工 到底能不能考,怎么考,以及它到底是不是 全国通用…

2026/11/15 0:42:52

泉州电工证培训班怎么考,上岗必备的电工证你别再拖了

泉州电工证培训班怎么考,上岗必备的电工证你别再拖了 工地太忙根本没时间复习考试,这几乎是每个一线电工都遇到的难题。你天天在工地跑,连上厕所的时间都紧张,哪还有空去报什么泉州电工证培训班?可别小看这个电工证,它是你 上岗必备…

2026/11/15 0:37:52

松阳电工证含金量高吗?实操考试心里没底怕挂科怎么办

松阳电工证含金量高吗?实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,这是很多准备考取 松阳电工证 的人的真实写照。尤其是对于转岗从业者来说,面对陌生的操作流程和严格的考核标准,难免会有些紧张。但你可能不知道,这张证书的 含金量…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑