当前位置: 首页 > news >正文

昆山市建设监察大队网站广州低成本网络营销

昆山市建设监察大队网站,广州低成本网络营销,wordpress标题栏添加星期几,前端网站页面模板在Linux系统上用C将主机名称转换为IPv4、IPv6地址 功能 指定一个std::string类型的主机名称#xff0c;函数解析主机名称为IP地址#xff0c;含IPv4和IPv6#xff0c;解析结果以std::vectorstd::string类型返回。解析出错或者解析失败抛出std::string类型的异常消…在Linux系统上用C将主机名称转换为IPv4、IPv6地址 功能 指定一个std::string类型的主机名称函数解析主机名称为IP地址含IPv4和IPv6解析结果以std::vectorstd::string类型返回。解析出错或者解析失败抛出std::string类型的异常消息。 源代码  以前随便写的一个解析域名为IP地址的功能现在需要支持IPv6所以做了些调整。最后结果如下 /*C将域名解析为IP地址含IPv4和IPv6 编译 g -o main main.cpp 执行./main 效果$ ./main 13.226.120.15 13.226.120.23 13.226.120.56 13.226.120.3 2600:9000:21e1:1200:1c:b3b0:7700:93a1 2600:9000:21e1:bc00:1c:b3b0:7700:93a1 2600:9000:21e1:9a00:1c:b3b0:7700:93a1 2600:9000:21e1:4e00:1c:b3b0:7700:93a1 2600:9000:21e1:a200:1c:b3b0:7700:93a1 2600:9000:21e1:3600:1c:b3b0:7700:93a1 2600:9000:21e1:1a00:1c:b3b0:7700:93a1 2600:9000:21e1:1800:1c:b3b0:7700:93a1*/// getaddrinfo, gai_strerror, freeaddrinfo #include sys/types.h #include sys/socket.h #include netdb.h// inet_ntop #include arpa/inet.h// strerror #include cstring#include string #include vector #include iostream// 域名解析为IP地址返回地址列表。 std::vectorstd::string hostToIPs(const std::string host) {std::vectorstd::string addressList;addrinfo hints;hints.ai_family AF_UNSPEC;hints.ai_socktype SOCK_STREAM;hints.ai_protocol 0;hints.ai_flags 0;hints.ai_canonname nullptr;hints.ai_addr nullptr;hints.ai_next nullptr;addrinfo* result nullptr;auto res getaddrinfo(host.c_str(), nullptr, hints, result);if (0 ! res) {throw std::string(gai_strerror(res));}if (nullptr ! result) {int bufferSize 64;char buffer[64];void* pointer;for (auto rp result; rp ! nullptr; rp rp-ai_next) {switch (rp-ai_family) {case AF_INET:pointer (void*)(((sockaddr_in*)(rp-ai_addr))-sin_addr);break;case AF_INET6:pointer (void*)(((sockaddr_in6*)(rp-ai_addr))-sin6_addr);break;default:continue;}if (nullptr inet_ntop(rp-ai_family, pointer, buffer, bufferSize)) {freeaddrinfo(result);throw std::string(Run inet_ntop fail, errno is ) std::to_string(errno) , message: std::string(strerror(errno));}addressList.emplace_back(std::string(buffer));}freeaddrinfo(result);}if (addressList.size() 0) {throw std::string(address list is empty);}return addressList; }int main() {try {for (const auto address : hostToIPs(www.english.com)) {std::cout address std::endl;}} catch (const std::string e) {std::cout e std::endl;}return 0; } 运行截图 程序在Ubuntu上开发调试结果是OK的。解析结果支持IPv4和IPv6地址主要参考材料是man手册。运行截图
http://www.zqtcl.cn/news/991332/

相关文章:

  • 网上购物网站建设规划论文国家企业网官网查询
  • 响应式网站建设推荐乐云seo2022年热点新闻事件
  • 用.net做视频网站的案例做网站需要视频衔接怎么做
  • 网站搭建规划模板wordpress博客点赞
  • 怎么在wordpress免费注册博客网站百度广告代理
  • 网站建设与管理考试怎么让网站分享有图片
  • 做渠道的网站有哪些方面广州网站建设咨询电话
  • 如何查看网站做没做竞价湘潭做网站 搜搜磐石网络
  • 郑州免费建站搭建网页平台
  • 长沙网站优化对策企业官网wordpress主题下载
  • 昆山网站设计网站建设亻金手指下拉
  • 行业数据网站建设培训网站
  • 商业设计网站推荐制作网站报价
  • 建设网站的企业邮箱红酒哪个网站做的好
  • 图片链接生成网站国外做珠宝的网站有哪些
  • 企业网站建设管理及推广手机微信网页版登录
  • 六盘水市住房和城乡建设局网站标签云wordpress
  • dedecms可以做什么网站织梦做的网站在手机上显示
  • 温州建设小学的网站吐鲁番seo快速排名
  • 翼城网站建设重庆平台网站建设多少钱
  • 短视频网站的动画是怎么做的外贸一般用什么平台
  • 北京建站开发企业网站建设平台
  • 建设网站建设什么征琴他达拉非
  • 详情页制作网站广州建设工程招标信息网
  • wordpress 响应速度慢长沙seo排名扣费
  • 网站首页二级下拉框怎么做酒店网站建设方案
  • 公众号流量投放网络优化工程师有前途吗
  • 电影网站app怎么做的网站关键词是什么
  • 成都做网站建设公司建设网站总结报告
  • 个人网站要备案嘛免费响应式模板网站