IP地址 boost asio

来源:互联网 发布:netflix ribbon源码 编辑:程序博客网 时间:2024/05/29 16:09

对于IP地址的处理,Boost.Asio提供了ip::address , ip::address_v4和ip::address_v6类。 它们提供了相当多的函数。下面列出了最重要的几个:

ip::address(v4_or_v6_address):这个函数把一个v4或者v6的地址转换成ip::address

ip::address:from_string(str):这个函数根据一个IPv4地址(用.隔开的)或者一个IPv6地址(十六进制表示)创建一个地址。

ip::address::to_string() :这个函数返回这个地址的字符串。ip::address_v4::broadcast([addr, mask]):这个函数创建了一个广播地址 ip::address_v4::any():这个函数返回一个能表示任意地址的地址。

ip::address_v4::loopback(), ip_address_v6::loopback():这个函数返回环路地址(为v4/v6协议)ip::host_name():这个函数用string数据类型返回当前的主机名。

大多数情况你会选择用ip::address::from_string:

ip::address addr = ip::address::from_string("127.0.0.1");

如果你想要连接到一个主机名,下面的代码片段不会起作用:

// 抛出异常

ip::address addr = ip::address::from_string("www.yahoo.com");