一直感觉一端发送数据,另一端接受数据很不可思议的事情,如果不能即时地读走会导致什么后果呢?

其实socket读出来的数据,你自己看着办,里面的数据是什么格式你自己去解析,用户可以基于TCP去实现你自己的协议【其实等价于客户基于IP协议去实现自己的传输层协议】,所以可以想想用户是怎么实现http协议的,http协议也是有一个头的,你会读出来一个头,头中会写着后面第几个字段是http协议头,然后第几个字段是数据,然后再第几个字段是option段等等等等,构筑在tcp之上的新的协议,并不是说直接就是数据了

看一段http协议的处理流程就大致知道了嘛,比如nginx,nginx是通过readv去读取数据的(可以参考:ngx_http_wait_request_handler函数中调用recv,recv钩子中封装的是readv函数),可以看到整个协议处理的过程中,都是直接然后挨个字段去分析。所以字节流就是这样子啦。那么对于数据报呢?

如果发送端不断发送数据,然后接收端过了好久才去取,会咋样呢?

数据报协议

最新文章

  1. 一键配置本地yum源
  2. Winform 打印PDF顺序混乱,获取打印队列
  3. Restrict each user to a single session in window server 2008 R2 or 2012
  4. 应用程序如何找到DLL文件?
  5. 【QT】计时器制作
  6. DB天气app冲刺第九天
  7. JavaScript中的鼠标滚轮事件详解
  8. 安卓抓包https
  9. EasyARM-iMX283A的make menuconfig出现错误:Install ncurses(ncurses-devel) and try again。
  10. 关闭应用程序(主程序)(WPF)
  11. 自主移动机器人同时定位与地图创建(SLAM)方法概述
  12. XmlDocument 避免XXE
  13. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
  14. console输出图案
  15. BBS项目部署
  16. addEventListener、onclick和jquery的bind()、click()
  17. GPS数据包格式解析
  18. JNDI Tomcat
  19. python gevent使用例子
  20. Verilog分频器的设计

热门文章

  1. js面向对象轮播图写法
  2. Git push提示pre-receive hook declined
  3. 洛谷P1196 [NOI2002]银河英雄传说(带权并查集)
  4. ABAP术语-BAPI Explorer
  5. oracle的事务隔离级别和读一致性
  6. Linux环境中配置环境变量无效
  7. 汇编:汇编语言实现冒泡排序(loop指令实现)
  8. PHP解决跨域问题
  9. android发布帖子类技术
  10. pads怎么高亮网络