对于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");