我无法找到合理的白皮书来解释如何创建boost::asio::ip::address_v4
例如:
// how to initialize address_v4 object?
address_v4 addr; // with an IP address?
addr.from_string("192.168.1.100"); // does not work, see bellow
io_service io;
tcp::socket socket(io);
tcp::endpoint remote;
remote.address(addr);
remote.port(21);
// the rest...
根据boost文档,构造函数需要bytes_type
或unsigned long
。
我是否必须输入由各个位组成的地址,或者是否有一种简单的方法来指定地址?
程序输出:
顺便说一句,是否有一些教程比boost网站提供的教程更好? 谢谢。连接到:0.0.0.0
connect:请求的地址无效 其背景
答案 0 :(得分:2)
由于from_string
是静态方法,因此不会更新addr
的值。
要从点分十进制形式的IPv4字符串初始化addr
,您应该使用:
addr = address::from_string("192.168.1.100");
答案 1 :(得分:0)
您也可以通过不解析字符串来加快处理速度,而直接使用address_v4
constructor that accepts bytes_type
来设置地址。例如:
SELECT CASE TRUNC( SYSDATE - 1 ) - TRUNC( SYSDATE - 1, 'IW' )
WHEN 6 -- Sunday
THEN TRUNC( SYSDATE - 2 )
ELSE TRUNC( SYSDATE - 1 )
END AS day
FROM DUAL