博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost asio学习笔记 [1] - 同步通讯
阅读量:7207 次
发布时间:2019-06-29

本文共 1284 字,大约阅读时间需要 4 分钟。

hot3.png

本文以一段示例代码,说明使用boost asio进行同步通讯的使用方法。

#include 
#include 
using namespace std;using boost::asio::ip::tcp; int main(){    boost::asio::io_service   ioservice;            // I/O事件模型封装,如win下的iocp,unix下的poll, linux下的epoll等    tcp::socket               socket(ioservice);      tcp::endpoint             endpoint;     // tcp端点,包含地址和端口    boost::system::error_code errcode;    tcp::resolver resolver(ioservice);      // 地址名称解析器    tcp::resolver::iterator iter_endpoint;          // resolver一次可返回多个地址,使用迭代器逐个访问    tcp::resolver::query query("mail.163.com", "pop3");          // 主机地址查询条件类,第一个参数是主机名,后一个是所需连接的服务名。        // 指定服务名可以使返回的endpoint除了包含主机地址,还会设定该服务的默认端口(如pop3默认端口为110)        // 如果只需要查询主机地址,则服务名可以为空字符串(返回的endpoint.port()==0)        iter_endpoint = resolver.resolve(query, errcode);  // 解析所需的服务地址    if ( errcode.value() != 0) {        cout<<"error code: "<
<<", "<<"error message: "<
<
endpoint();     cout<
<<":"<
<
 0 ) {            result[len] = '\0';            cout<<"received: "<
<
 0 ) {            result[len] = '\0';            cout<<"received: "<
<
 0 ) {            result[len] = '\0';            cout<<"received: "<
<
 0 ) {            result[len] = '\0';            cout<<"received: "<
<
<<"connect error: "<
<

转载于:https://my.oschina.net/luckysym/blog/466700

你可能感兴趣的文章
刷前端面经笔记(十一)
查看>>
【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
查看>>
Kaggle冠军经验分享丨如何用15个月冲到排行榜的首位
查看>>
Stream流与Lambda表达式(一) 杂谈
查看>>
独家揭秘!阿里大规模数据中心的性能分析
查看>>
Valid
查看>>
大数据驱动的运营创新和探索
查看>>
你属于程序员中的哪种人?
查看>>
基于Mixin Network的PHP比特币开发教程 之一:创建机器人
查看>>
时序数据库连载系列: 时序数据库一哥InfluxDB之存储机制解析
查看>>
sorl实现商品快速搜索
查看>>
Webpack4 学习笔记 - 01:webpack的安装和简单配置
查看>>
236. Lowest Common Ancestor of a Binary Tree
查看>>
300. Longest Increasing Subsequence
查看>>
GO基础编程-自定义函数
查看>>
你真的懂switch吗?聊聊switch语句中的块级作用域
查看>>
从0到1,了解NLP中的文本相似度
查看>>
HTML5新特性总结
查看>>
超越时代的天才——图灵
查看>>
使用 ale.js 制作一个小而美的表格编辑器(2)
查看>>