亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

C++ boost::asio編程-域名解析詳解

時(shí)間:2024-10-13 09:59:03 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C++ boost::asio編程-域名解析詳解

  在網(wǎng)絡(luò)通信中通常我們并不直接使用IP地址,而是使用域名。這時(shí)候我們就需要用reslover類來通過域名獲取IP,它可以實(shí)現(xiàn)與IP版本無關(guān)的網(wǎng)址解析。下面,就和小編一起來看一看C++ boost::asio編程-域名解析詳解,希望對(duì)大家有幫助!


  #include "stdafx.h"

  #include "boost/asio.hpp"

  #include "boost/shared_ptr.hpp"

  #include "boost/thread.hpp"

  #include <boost/lexical_cast.hpp>//使用字符串轉(zhuǎn)換功能

  using namespace std;

  using namespace boost::asio;

  #ifdef _MSC_VER

  #define _WIN32_WINNT  0X0501 //避免VC下編譯警告

  #endif

  //域名解析為IP

  //入?yún)ⅲ河蛎丝?/p>

  //返回:ip地址

  vector<string> domain2ip(const char *domain,int port)

  {

  io_service ios;

  //創(chuàng)建resolver對(duì)象

  ip::tcp::resolver slv(ios);

  //創(chuàng)建query對(duì)象

  ip::tcp::resolver::query qry(domain,boost::lexical_cast<string>(port));//將int型端口轉(zhuǎn)換為字符串

  //使用resolve迭代端點(diǎn)

  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;

  }

  get);

  return 0;

  }

  其中經(jīng)過測(cè)試,端口可以填任意值均可以解析出來。


【C++ boost::asio編程-域名解析詳解】相關(guān)文章:

c++快速排序詳解10-18

C語(yǔ)言函數(shù)式編程中惰性求值詳解09-06

linux網(wǎng)絡(luò)編程用到的網(wǎng)絡(luò)函數(shù)詳解和使用示例10-14

C語(yǔ)言編程中的聯(lián)合體union入門學(xué)習(xí)教程詳解10-15

C++類的轉(zhuǎn)換10-17

C++函數(shù)考點(diǎn)歸納09-30

C/C++內(nèi)存管理09-20

Java與C/C++的區(qū)別06-18

C語(yǔ)言和C++的分別06-18

C語(yǔ)言和C++的區(qū)別精選10-16