C++ boost::asio编程-域名解析详解
在网络通信中通常我们并不直接使用IP地址,而是使用域名。这时候我们就需要用reslover类来通过域名获取IP,它可以实现与IP版本无关的网址解析。下面,就和小编一起来看一看C++ boost::asio编程-域名解析详解,希望对大家有帮助!
#include "stdafx.h"
#include "boost/"
#include "boost/shared_"
#include "boost/"
#include <boost/lexical_>//使用字符串转换功能
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=lve(qry);
ip::tcp::resolver::iterator end;
vector<string> ip;
for(;it!=end;it++)
{
_back((*it)oint()ess()_string());
}
return ip;
}
int _tmain(int argc, _TCHAR* argv[])
{
vector<string> ip=domain2ip("",0);
for(int i=0;i<();i++)
{
cout<<ip[i]<<endl;
}
get);
return 0;
}
其中经过测试,端口可以填任意值均可以解析出来。
-
二级C语言考试复习五要点
综观近几年全国计算机等级二级基础部分和C语言程序设计的题目,笔试中大多数考题是与大纲要求的基本内容一致的,难度不高,但内容十分广泛,应牢固掌握。以下是小编为您带来的二级C语言考试复习五要点,感谢您的阅读!一、了解试卷,胸中有数综观近几年全国计算机等级二级...
-
2017计算机二级C语言精选习题
多做题有助于同学们及时检测自己的学习情况。希望提供的2017计算机二级C语言精选习题,能够帮助大家巩固所学知识,为今后的学习打好基础!(1)OSI模型的'物理层负责下列哪一种功能?A)格式化报文B)为数据选择通过网络的路由C)定义连接到介质的特征D)提供远程文件访...
-
c语言单引号的用法指导
C语言中用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。下面小编给大家整理了c语言单引号的用法,供大家参阅...
-
C语言合并排序及实例代码
归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。下面是小编分享的C语言合并排序及实例代码,一起来看一下吧。合并排序仅从算法思想上了解归并排序会觉得很抽象,接下来就以对序列A[0],A[l]…,A...
相关文章
- Solaris iostat命令详解
- Unit3 How do you get to school?(Section B 2a-2c)
- springboot+mybatis多数据源最简解决方案
- 【荐】Unit3 How do you get to school?(Section B 2a-2c)
- 英语教材分析:composition,analysis (unit 2)
- Spring Boot使用slf4j+logback记录日志配置详解
- 英语作文Build a Harmonious Society
- Scientists Build Robots to Live With Humans英语美文
- CSS中position属性的使用详解
- Some words for this special occasion英文美文欣赏