首页 > 使用boost解析域名服务

使用boost解析域名服务

下面的源码给出了使用boost::asio进行域名解析的方法.

//g++ -g resolver_demo.cpp -o resolver_demo -lboost_system -lpthread
//#include 
#include 
#include 
#include using namespace std;
using namespace boost::asio;void resolv_connect(io_service& ios, ip::tcp::socket& sock, const char* host, int port){ip::tcp::resolver rslv(ios);ip::tcp::resolver::query qry(host, boost::lexical_cast(port));cout << "host_name: " << qry.host_name() << ", service_name: " << qry.service_name() << endl;ip::tcp::resolver::iterator iter = rslv.resolve(qry);ip::tcp::resolver::iterator end;boost::system::error_code ec = error::host_not_found;for( ; ec&&iter!=end; ++iter){sock.close();sock.connect(*iter, ec);}if(ec){cout << "cannot connect" << endl;throw boost::system::system_error(ec);}else if(iter != end){ip::tcp::endpoint endpoint = iter->endpoint();cout << "query success!" << endl;cout << "host_ip: " << endpoint.address() << ", port: " << endpoint.port() << endl;}elsereturn;
}int main(){try{io_service ios;ip::tcp::socket sock(ios);resolv_connect(ios, sock, "news.sohu.com", 80);}catch(exception& e){cerr << e.what() << endl;return 1;}return 0;
}


下面是运行截图



更多相关:

  • pc 端配置 点击pc端无线链接图标编辑链接以太网编辑IPv4设置方法:与其他计算机共享根据putty获取的动态ip使用ssh登录 解决 ip 无法登录问题 设置 pc 端 ip 和开发板 ip 在同一个网段 比如开发板 ip 是 10.42.0.123 可以设置自己机器的 ip 为 10.42.0.11 sudo ifcon...

  • 原文:TCP/IP 简介     第一节:TCP/IP 简介 第二节:TCP/IP 寻址 第三节:TCP/IP 协议 第四节:TCP/IP 邮件     TCP/IP 是用于因特网 (Internet) 的通信协议。     计算机通信协议 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述。     什么是 TC...

  • #保存一万条命令记录 sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile#在/etc/profile的文件尾部添加如下行数配置信息 ######jiagu history xianshi######### USER_IP=`who -u am i 2>/dev/null |...

  • TCP/IP基础概念及通信过程举例   出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络。后来为了验证分组交换技术的实用性,ARPANET出现了,并且在3年内逐渐发展,由4个节点发展至34个节点。20世纪70年代前半叶,ARPANET一个机构研制出了TCP/IP,1982年具体规范...

  • 异步模式的服务器源码 //g++ -g async_tcp_server.cpp -o async_tcp_server -lboost_system //#include #include #include #include

  • 近来狂热地研究boost的开发技术,现将读书笔记整理如下: 需要说明的是, 本博该专题下面关于boost的源码是采用boost1.55版本, 运行在Ubuntu 14.04 64bit下面, 使用apt包安装(非源码编译安装), 后续不再做说明. 同步socket类型的服务器源码实现: //g++ -g sync_tcp_s...

  • 通过实验取证:TCP三次握手的过程理解TCP/IP协议的工作原理多年来TCP/IP协议一直被公众称呼为“一个协议”,事实上它是一组协议的集合,IP工作在OSI七层模型的网络层,提供网络传输,但是并不提供其可靠性传输控制。而TCP工作在OSI七层模型的传输层,并提供其可靠性传输控制。那么首先需要说明的是:“什么是可靠性传输控制?”所谓可...