第4讲 TCP的流传输控制.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲 TCP的流传输控制

网络编程技术 第四讲 TCP的流传输控制;Outline;Outline;无边界 传送时机未知 写入、读出、传送形态各异;;从传输方的角度来观察数据 ;从传输方的角度来观察数据;从接收方的角度来观察数据 没有数据 接收到已交付的部分数据 接收缓存太小;从接收方的角度来观察数据 接收到已交付的全部数据 部分M1;从接收方的角度来观察数据 接收到已交付的全部数据 M1;从接收方的角度来观察数据 接收到已交付的全部数据 M1+部分M2;从接收方的角度来观察数据 接收到已交付的全部数据 M1+M2;总结TCP的流传送特点 TCP是一个流协议,TCP如何对数据打包跟调用send()函数传递多少数据没有直接的关系。 对于使用TCP的应用程序来说,没有“数据边界”的概念,接收操作返回的时机和数量是不可预测的,必须在应用程序中正确处理。;Outline;;;;;;接收端尚未执行任何recv()之前的一种可能??状态;接收端执行一次recv() 接收端的应用程序缓冲区长度当前接收缓存的数据长度;接收端执行下一次recv() 接收端的应用程序缓冲区长度当前接收缓存的数据长度 ;Outline;;数据的接收处理需要考虑到网络中的各种可能性 第一,一次接收不能保证接收到一次发送的所有数据! 循环接收 第二,接收函数的调用结果有很多种! 结果判断 ;2014/5/22;预分配的应用程序缓冲区recvbuf的取值难以确定 过小的recvbuf 频繁地调用,消耗资源 过大的recvbuf 浪费系统的存储资源 接收数据的数量不可预测 发送端和接收端都等待数据 死锁! 武断截断消息 错误!;模拟定长数据包的形态处理底层提交的字节流数据 预先给定了接收数据的总长度 增加接收总长度的判断;接收定长数据;用长度字段显式指明字节流的数据长度 设计消息格式存储长度字段 两次定长接收数据;接收定长数据;接收定长数据;接收定长数据

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档