当前位置: 首页 > news >正文

jsp网站建设毕业设计蜘蛛搜索

jsp网站建设毕业设计,蜘蛛搜索,专业网站名词解释,wordpress短网址插件文章目录1 粘包问题1.1 什么是粘包问题1.2 如何解决粘包问题2 异常情况TCP 的十个特性:确认应答机制 超时重传机制 连接管理机制 滑动窗口 流量控制与拥塞控制 延迟应答与捎带应答 1 粘包问题 1.1 什么是粘包问题 面向字节流引入了一个比较麻烦的粘包问题。 …

文章目录

  • 1 粘包问题
    • 1.1 什么是粘包问题
    • 1.2 如何解决粘包问题
  • 2 异常情况

TCP 的十个特性

确认应答机制

超时重传机制

连接管理机制

滑动窗口

流量控制与拥塞控制

延迟应答与捎带应答

1 粘包问题

1.1 什么是粘包问题


面向字节流引入了一个比较麻烦的粘包问题。




这里张三和小红进行了多次的交互,张三的接收缓冲区,其实是把刚才这里收到的多个数据都放到一起了。


如果应用程序调用 read 方法读取的时候,该读到那里才算是一个完整的应用层数据报呢?


由于 TCP 是字节流的,一次读一个字节或是读多个字节都是可以的。
这就导致一次读到数据有可能是半个应用层数据报,可能是一个应用层数据报,也有可能是多个应用层数据报。

就好比,过年吃饺子的时候,碗里如果没放饺子汤。过了一会儿,一碗饺子就会粘到一起了。
这个时候夹一筷子,就有可能夹到半个饺子,有可能夹到一个饺子,也有可能夹到多个饺子。
这个现象就叫做 粘包问题




应用程序调用 read 方法,此处的 read 方法就是InputStream 里的 read 方法。

如果读的是 6 个字节,此时就正好读到了 aaaaaa,这是一个完整的应用层数据报。
如果读的是 10 个字节,此时读到的是 aaaaaabbbb,此时读到的是 “一个半” 的应用层数据报。
如果读的是 4 个字节,此时读到的 aaaa ,此时读到的就是 半个应用层数据报。

在 TCP 层次中,没有 socket api 中告诉我们应该读几个字节和具体怎么读,这完全是程序猿自己决定的。

1.2 如何解决粘包问题


我们期望的当然是读到一个完整的应用层数据报,因为这样后续才好处理。

既然是应用层,约定好应用层协议即可,尤其是明确好应用层数据报个应用层数据报之间的边界就好了。

有两个方案:

1、约定好分隔符

2、约定好每个包的长度

这两种方法二者取一即可。

采取分隔符的方法就是,在一个完整的数据报末尾加上一个例如 \n 这样的符号来进行分割。
设计分割符的时候,不能是要发送的数据报包含的吗,这样会造成误读。



约定长度就是,提前算好每个数据报的长度。

2 异常情况


异常情况,也就是传输过程中出现了不可抗力。

这里分为四个情况:

1、进程崩溃了

如果是进程没了,对应的 PCB 就没了,对应的文件描述符表就释放了,相当于是 socket.close()。
此时内核会继续完成四次挥手,此时其实仍然是一个正常断开的流程。


2、主机关机(按照正常情况关机)

主机关机要先杀进程,然后才正式关机。(杀死进程的过程中,也是和上面一样触发四次挥手)


3、主机掉电

假设是接收方掉电了,发送方仍然在继续发数据,发完数据要等待 ACK ,不过肯定是等不到的。
这个时候引发超时重传,不过肯定再怎么重传也是收不到 ACK 的,重传几次后,还没有应答,此时尝试 重置 tcp 连接。
显然这个重置也会失败,此时就会放弃连接了。(单方面放弃了)

假设是发送方掉电了,接收方发现没数据了。
此时站在接收方的角度看待,没发数据是发送方挂了?还是发送方要组织下语言,稍等会再发?
接收方是不知道的,此时会先等会儿。接收方会周期性的给发送方发送一个消息确认下对方是否还是工作正常的。


给发送方周期性的发送一条消息的这个操作叫做 保活机制,发送的消息形象的称为心跳包,因为心跳也是周期性的,
如果心跳无了,说明就寄了。

心跳包来确认通信双方是处于正常的工作状态中。


4、网线断开

这个和主机掉电是一样的,只不过一个主机是接收方掉电了,作为发送方的主机会尝试超时重传,最后放弃连接。
另一个主机是发送方掉电了,会尝试心跳包的方式来确认对方是否还是正常工作的。

http://www.fp688.cn/news/155915.html

相关文章:

  • 北京网站制作定制网络营销中的四种方法
  • 网站开发登录链接网站推广优化排名教程
  • 虚拟机建设网站百度开户需要什么条件
  • 可以做全景的网站百度推广seo优化
  • 便宜做网站价格青岛百度推广优化怎么做的
  • 网站开发公司盈利计算机编程培训学校哪家好
  • 资海网络一年做多少网站网站接广告平台
  • 免费学做美食视频网站杭州百度
  • c 网站开发项目提供seo顾问服务适合的对象是
  • 吴江高端网站建设可以全部免费观看的软件
  • 深圳做网站公司有哪些搜索引擎优化的方法和技巧
  • 做网站怎么接业务google免费入口
  • 减粘装置seo优化是利用规则提高排名
  • 凡科网登录电脑端aso优化技术
  • 辽宁建设工程质量监督站网站学计算机哪个培训机构好
  • 贵阳网络科技有限公司seo资源网站排名
  • 网站后台登录界面西安百度公司
  • 北京集团公司注册流程成都最好的seo外包
  • 公司做彩票网站违法吗google搜索引擎免费入口
  • 郑州鹏之信网络科技有限公司百度搜索优化关键词排名
  • wordpress文本块字体大小seo搜索引擎优化方式
  • 网页数据抓取郑州seo哪家专业
  • 做企业官网还有必要吗全能优化大师
  • 中装建设为什么不涨seo推广论坛
  • 做羞羞事视频网站网站优化软件哪个好
  • 企业做网站分哪几种搜索引擎优化的基本内容
  • 定制做网站报价目前推广软件
  • 怎样把自己做的网站发到网上长沙网络推广外包费用
  • 撰写网站规划书广告营销推广方案
  • 广州企业建站系统模板营销型网站的公司