端点 boost asio
来源:互联网 发布:打印机端口怎么看 编辑:程序博客网 时间:2024/05/16 07:03
端点是你用某个端口连接到的一个地址。不同的类型socket有它自己的endpoint类,比如ip::tcp::endpoint、ip::udp::endpoint和ip::icmp::endpoint
如果想连接到本机的80端口,你可以这样做:ip::tcp::endpoint ep( ip::address::from_string("127.0.0.1"), 80);
有三种方式来让你建立一个端点:
Boost.Asio命名空间IP地址端点
endpoint():这是默认构造函数,某些时候可以用来创建UDP/ICMP socket。
endpoint(protocol, port):这个通常用来创建可以接受新连接的服务器端socket。
endpoint(addr, port):这个创建了一个连接到某地址和端口的端点。
例子如下:
ip::tcp::endpoint ep1;
ip::tcp::endpoint ep2(ip::tcp::v4(), 80);
ip::tcp::endpoint ep3( ip::address::from_string("127.0.0.1), 80);
如果你想连接到一个主机(不是IP地址),你需要这样做:
// 输出 "87.248.122.122"
io_service service;
ip::tcp::resolver resolver(service);
ip::tcp::resolver::query query("www.yahoo.com", "80");
ip::tcp::resolver::iterator iter = resolver.resolve( query);
ip::tcp::endpoint ep = *iter;std::cout << ep.address().to_string() << std::endl;
你可以用你需要的socket类型来替换tcp。首先,为你想要查询的名字创建一个查询器,然后用resolve()函数解析它。如果成功,它至少会返回一个入口。利用返回的迭代器,使用第一个入口或者遍历整个列表。
给定一个端点,可以获得他的地址,端口和IP协议(v4或者v6):
std::cout << ep.address().to_string() << ":" << ep.port()<< "/" << ep.protocol() << std::endl;
- 端点 boost asio
- Boost Asio
- boost asio
- Boost.asio
- boost asio
- boost asio
- boost.asio
- Boost.Asio
- boost.asio
- boost asio
- BOOST::ASIO
- boost asio
- boost asio
- boost asio
- Boost asio
- boost asio
- Boost asio.
- boost.asio
- webSocket、Ajax轮询、长轮询(long poll)
- Hive 基本操作
- 支付
- 使用HAL库、STM32CubeMX和Keil 5开发入门教程(一):点亮一盏LED灯(NUCLEO-F411RE)
- 命令行执行java程序
- 端点 boost asio
- 陕西哲尊律师事务所_向大家推荐
- android 自定义线程池ThreadPoolUtils工具类
- 简单说 通过CSS的滤镜 实现 火焰效果
- C语言字符串操作总结大全
- C/C++ --- 全局变量初始化总结
- JS按照特定的条件对数组进行归类
- MaxCompute2.0 对开源系统的支持与融合
- 成群的细菌