c++ - 创建 boost::asio::ip::address_v4

标签 c++ sockets boost ip

我找不到合理的白皮书来解释如何创建 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_typeunsigned long

我是否必须输入由各个位组成的地址,或者是否有一种简单的方法来指定地址?

程序输出:

connecting to: 0.0.0.0

connect: The requested address is not valid in its context

顺便说一句,有没有比 boost 网站提供的教程更好的教程? 谢谢。

最佳答案

from_string是静态方法,它不会更新addr的值。

要从点分十进制形式的 IPv4 字符串初始化 addr,您应该使用:

addr = address::from_string("192.168.1.100");

关于c++ - 创建 boost::asio::ip::address_v4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28904477/

相关文章:

c++ - CLASS_NAME 未声明 - 不能 dynamic_cast(目标不是指针或对完整类型的引用)

c++ - Xcode 生成的存档文件缺少 dylib

c# - C++ 运算符重载

c - 如何正确使用 select() 中的 except_set?

linux - Freepascal,Indy SVN 主干版本,PHP 客户端在传输 XML 时没有收到任何信息,直到删除编码转换

c++ - 使用调试器单步执行程序需要很长时间

c++ - 使用命名捕获找出给定正则表达式中命名组的所有名称

c++ - c++ 将多个文件压缩成一个文件

模块的 Python C API 版本不匹配

python - 如何处理原始 Python 套接字中的 ssl 连接?