Boost::Asio中的许多I/O对象是流导向的,这意味着;
@没有消息边界,在传输的数据是一个连续的字节序列
@读或者写传输的字节可能比请求更小,这就是被称作简短的读或者写
提供流定向模型的对象一个或者多个下列类型的必要条件:
SyncReadStream,使用成员函数read_some()执行同步的读操作
AsyncReadStream,使用成员函数async_read_some() 执行异步读操作
SyncWriteStream, 使用成员函数write_some()执行一个同步的写操作
AsyncWriteStream,使用成员函数async_write_some()执行一个异步的写操作
流导向的对象的例子有:ip::tcp::socket, ssl::stream<>, posix::stream_descriptor, windows::stream_handle等
程序往往需要发送指定数量的字节,当出现简短的读和写的时候程序需要重启操作,然后继续这么做,直到所有数据全部发送完成,Boost::Asio提供了完成这些操作的自动函数read(), async_read(), write() 和 async_write(). 
为什么EOF是一个错误
@流的终结符可能导致read, async_read, read_until or async_read_until 违反了调用者的期待,读取N个字节的操作可能因为EOF而提前结束。
@EOF错误可以用来成功读取0个字节以后判断流是否完结

转载于:https://www.cnblogs.com/learn-my-life/p/5272176.html

多个流,简短的读和写相关推荐

  1. c++一日一练:利用流来实现读和写的同步(原创)

    int main(int argc,char*argv[]) { string s; stringstream ssm; //ssm.rdbuf(); //写到流的缓冲区,,但是并不刷新. ssm&l ...

  2. java文件边读边写_[Java教程]node.js 利用流实现读写同步,边读边写

    [Java教程]node.js 利用流实现读写同步,边读边写 0 2017-09-10 13:00:14 //10个数 10个字节,每次读4b,写1blet fs=require("fs&q ...

  3. Java中输入(读)输出(写)流

    一.输入输出流 输入输出流--读写文件 输入---从文件中获取数据到自己的程序中接受处理[读] 输出---从自己的程序中处理好的数据保存在文件中[写] 流-----数据的移动轨迹 二.流的分类   按 ...

  4. 这是我读过写得最好的【秒杀系统架构】分析与实战!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/ewVWv 1 秒杀业务分析 2 ...

  5. 多读多写多实践---给初学编程者的建议

    今天偶尔翻出了大一时候使用的谭浩强<C语言程序设计习题集和上机指导>,发现里面的代码格式真的不敢恭维.原来我们就是看着这些书本来学习成长过来的,当然,他的<c语言程序设计>我觉 ...

  6. Java读 写文本_java读文件写文件的方法

    java读文件写文件的方法 有的时候经常为真么读写文件最合理发愁,因为JAVA提过读写文件的方式太多了(C更甚至,fopen & open又有多少人傻傻分不清,更别说ReadFile了).今天 ...

  7. 【大数据入门笔记系列】第三节 Hdfs读、写数据处理流程

    [大数据入门笔记系列]第三节 Hdfs读.写数据处理流程 Hdfs简介 写数据处理流程 读数据处理流程 后记 跳转 Hdfs简介 一般而言,Hdfs是由一个NameNode节点和若干个DataNode ...

  8. 这是我读过写得最好的【秒杀系统架构】分析与实战!(转载)

    这是我读过写得最好的[秒杀系统架构]分析与实战!(转载) 1 秒杀业务分析 1. 正常电子商务流程 2. 秒杀业务的特性 2 秒杀技术挑战 1. 对现有网站业务造成冲击 2. 高并发下的应用.数据库负 ...

  9. c语言中读和写的作用,c语言文件读写

    c语言文件读写 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种. ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码.ASCII码 ...

最新文章

  1. TP-GAN 让图像生成再获突破,根据单一侧脸生成正面逼真人脸
  2. 网页中PNG透明背景图片的完美应用
  3. 关于 eclipse startexplorer插件 快速打开文件夹
  4. 自己整合优化的一个Android框架
  5. 浏览器显示XML文档
  6. SpringBoot Thymeleaf使用教程(实用版)
  7. MySQL为表的指定字段添加数据
  8. 启明云端分享| RK3568核心板到底有哪些吸引眼球的地方呢
  9. 困惑我半年的一个问题终于解决了
  10. matlab计算遥感影像最“佳”指数因子OIF
  11. Hibernate4 buildSessionFactory过时解决方案(Annotation也是一样解决)
  12. 【古典密码】 凯撒密码 移位变换 仿射变换 多表代换 Python
  13. 安国主控au6983、au698x fc8708 量产失败修复过程。载入韧体数据失败\坏磁区过多\读坏块表错误...
  14. 【基础理论】Jenkins CI/DI持续集成部署
  15. php的qq邮箱正则表达式语法_正则表达式综合应用:qq邮箱提取
  16. 怎么快速缩小gif图大小?gif动图如何变小?
  17. 神舟精盾 t97 键盘背光灯如何设置亮的时间
  18. slxrom+v.21+原生android+4.2,红米Note4X高通版 魔趣OS 安卓10 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
  19. Android 隐藏手机虚拟按键
  20. Redis由浅到深层次讲解和springboot实战(服务器层面的搭建部署)

热门文章

  1. 快速清除SQL Server数据库日志的方法
  2. Gitlab部署和汉化以及简单运维
  3. dsoframer控件注册,解注册和检查注册情况
  4. PHP 使用POST 获取不到部分数据问题
  5. php实现cc攻击防御和防止快速刷新页面示例
  6. 系统设计 - 使用面向 iOS 的本机插件扩展
  7. 浅谈netbios及其相关内容
  8. STL标准库六大组件
  9. 你真的知道Python的字符串是什么吗?
  10. hadoop大数据平台架构之DKhadoop详解