C++ boost::asio编程-域名解析详细介绍

 更新时间:2016年11月29日 15:18:08   投稿:lqh  
这篇文章主要介绍了C++ boost::asio编程-域名解析详细介绍的相关资料,这里附有实例代码,帮助大家学习理解这部分知识,需要的朋友可以参考下

C++ boost::asio编程-域名解析

在网络通信中通常我们并不直接使用IP地址,而是使用域名。这时候我们就需要用reslover类来通过域名获取IP,它可以实现
与IP版本无关的网址解析。

#include "stdafx.h" 
#include "boost/asio.hpp" 
#include "boost/shared_ptr.hpp" 
#include "boost/thread.hpp" 
#include <boost/lexical_cast.hpp>//使用字符串转换功能 
 
using namespace std; 
using namespace boost::asio; 
 
#ifdef _MSC_VER 
#define _WIN32_WINNT  0X0501 //避免VC下编译警告 
#endif 
 
//域名解析为IP 
//入参:域名,端口 
//返回:ip地址 
vector<string> domain2ip(const char *domain,int port) 
{ 
  io_service ios; 
  //创建resolver对象 
  ip::tcp::resolver slv(ios); 
  //创建query对象 
  ip::tcp::resolver::query qry(domain,boost::lexical_cast<string>(port));//将int型端口转换为字符串 
  //使用resolve迭代端点 
  ip::tcp::resolver::iterator it=slv.resolve(qry); 
  ip::tcp::resolver::iterator end; 
  vector<string> ip; 
  for(;it!=end;it++) 
  { 
    ip.push_back((*it).endpoint().address().to_string()); 
  } 
  return ip; 
} 
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
  vector<string> ip=domain2ip("www.csdn.net",0); 
  for(int i=0;i<ip.size();i++) 
  { 
    cout<<ip[i]<<endl; 
  } 
  getchar(); 
  return 0; 
} 

其中经过测试,端口可以填任意值均可以解析出来。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • C++学习笔记std::vector底层原理及扩容

    C++学习笔记std::vector底层原理及扩容

    这篇文章主要为大家介绍了C++学习之std::vector底层原理及扩容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • C语言动态数组的使用实现代码

    C语言动态数组的使用实现代码

    这篇文章主要介绍了C语言动态数组的使用实现代码的相关资料,需要的朋友可以参考下
    2017-01-01
  • Cocos2d-x人物动作类实例

    Cocos2d-x人物动作类实例

    这篇文章主要介绍了Cocos2d-x人物动作类实例,本文用大量代码和图片讲解Cocos2d-x中的动作,代码中同时包含大量注释说明,需要的朋友可以参考下
    2014-09-09
  • C语言经典算法例题求100-999之间的“水仙花数”

    C语言经典算法例题求100-999之间的“水仙花数”

    本文的主要内容,设计一个程序,找出100-999之间的“水仙花数”,需要的朋友可以参考下
    2015-07-07
  • C BlowFish对称加密算法详解

    C BlowFish对称加密算法详解

    这篇文章主要介绍了C BlowFish对称加密算法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C语言使用openSSL库DES模块实现加密功能详解

    C语言使用openSSL库DES模块实现加密功能详解

    这篇文章主要介绍了C语言使用openSSL库DES模块实现加密功能,简单讲解了DES加密的相关概念,并结合实例形式分析了DES加密的具体实现技巧,需要的朋友可以参考下
    2017-05-05
  • 详解C/C++性能优化背后的方法论TMAM

    详解C/C++性能优化背后的方法论TMAM

    开发过程中我们多少都会关注服务的性能,然而性能优化是相对比较困难,往往需要多轮优化、测试,属于费时费力,有时候还未必有好的效果。但是如果有较好的性能优化方法指导、工具辅助分析可以帮助我们快速发现性能瓶颈所在,针对性地进行优化,可以事半功倍
    2021-06-06
  • 用C++面向对象的方式动态加载so的方法

    用C++面向对象的方式动态加载so的方法

    下面小编就为大家带来一篇用C++面向对象的方式动态加载so的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C++模板之特化与偏特化详解

    C++模板之特化与偏特化详解

    这篇文章主要介绍了C++模板之特化与偏特化详解,本文讲解了什么是C++模板、模板特化、模板偏特化、特化与偏特化的调用顺序等内容,需要的朋友可以参考下
    2014-10-10
  • 全排列算法的非递归实现与递归实现的方法(C++)

    全排列算法的非递归实现与递归实现的方法(C++)

    本篇文章是对全排列算法的非递归实现与递归实现的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论