TCP的推送比特PSH(Push)
PSH是TCP报头中的一个标志位,发送方在发送数据的时候可以设置这个标志位.当两个应用程序进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应.在这种情况下,TCP可以使用推送(push)操作.这时,发送端TCP将推送比特PSH置为1,并立即创建一个报文段发送出去. 接收TCP收到推送比特置1的报文段,就尽快地(即"推送向前")交付给接收应用进程,而不再等到整个缓冲都填满了再向上交互.PSH比特也叫急迫比特.
虽然应用程序可以选择推送操作,但推送操作还是往往不被人们使用,实际上现在的TCP协议栈基本上都可以自行处理这个问题,而不是交给应用层处理.
发送方使用该标志通知接收方将所收到的数据全部提交给接收进程,这里的数据包括与PUSH一起传送的数据以及接收方TCP已经为接收进程收到的其他数据.在最初的TCP规范中,允许发送应用程序设置TCP的PSH标识.当发送应用程序设置TCP的PSH标识后,TCP应把发送缓存中的数据发送出去,而不需等待其他额外的数据,而接受端在收到PSH标志后,应该把已经接受到的数据提交给应用程序,而不需等待其他可能的数据.
多数源自伯克利(BSD)的TCP实现可在发送缓存被清空(发送缓存内的数据被全部发送)的时候自动设置PSH标识.因为应用程序在写数据给TCP时,就会被TCP发送(除非由于接受端窗口为0,或其他不能发送的原因).如果待发送的数据会清空发送缓存,那么协议栈栈就会自动为此包设置PSH标志.而因为源自BSD的TCP从不把接收到的数据延迟提交给应用程序,所以接收端会忽略掉接收到的PUSH标识.
        PSH位就是用来通告接收方立即将收到的报文连同TCP接收缓存里的数据递交应用进程处理.一般会出现在发送方封装最后一个应用字段的TCP报文中,针对TCP交互式应用,则只要封装有应用字段的TCP报文,均会将PSH位置1.当然,应用程序的开发者,可以根据需要,在某个应用功能模块或某个应用操作中,将所有封装应用字段的TCP报文PSH位置1,以提高交互双方的处理效率,这在理论上应该也是可行的.

TCP的推送比特PSH(Push)相关推荐

  1. TCP的推送比特PSH Push

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! TCP的 ...

  2. 服务器推送技术Server Push详解

    服务器推送技术(Server Push)是最近Web技术中最热门的一个流行术语,它的别名叫Comet(彗星).它是继AJAX之后又一个倍受追捧的Web技术.服务器推送技术最近的流行与AJAX有着密切的 ...

  3. iOS上简单推送通知(Push Notification)的实现

    iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification ...

  4. iOS 推送详解 push

    目录: 1.         Push机制的介绍 2.         Push机制的使用 3.         Push故障的排除 4.         Demo示例 Push机制 1. Push机 ...

  5. Comet, 下一代反向AJAX(即服务器推送技术- Server-side push)

    理解 Comet 您可能已经听说过 Comet,因为它最近受到了一定的关注.Comet 有时也称反向 Ajax 或服务器端推技术(server-side push).其思想很简单:将数据直接从服务器推 ...

  6. 58同城高性能移动Push推送平台架构演进之路

    本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段,并介绍了什么是移动Push推送,为什么需要,原理和方案对比:移动Push推送第一阶段(单平台)架构如何设计:移动Push推送典型性能问 ...

  7. push msg php_基于web-msg-sender进行消息推送

    简介 web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送. 通过后台 ...

  8. 2021-06-10-APP PUSH推送机制

    APP PUSH推送机制 一.APP PUSH定义与价值 二.APP推送分类 三. PUSH流程 四.底层通道说明 五.下发推送 六.数据上报 七.PUSH特点 八.触达率的提升 一.APP PUSH ...

  9. 【PWA学习】4. 使用 Push API 实现消息推送

    引言 在接下来的内容里,我们会探究 PWA 中的另一个重要功能--消息推送与提醒(Push & Notification).这个能力让我们可以从服务端向用户推送各类消息并引导用户触发相应交互 ...

最新文章

  1. 《数学之美》第15章 矩阵运算和文本处理中的两个分类问题
  2. Dynamics 365 for CRM: Sitemap站点图的可视化编辑功能
  3. Linux curl 命令
  4. nuget 包版本冲突解决 packages.config
  5. sinx/x的极限为什么是1_某个波长的激光最小的聚焦光斑可以到多少?怎么让聚焦光斑更细?为什么聚焦系统要用扩束镜?...
  6. NA-NP-IE系列实验4:CLI 的使用与IOS 基本命令(1)
  7. HTML5语义元素的使用
  8. Excel表结构模板生成MySql建表语句
  9. 新浪xweibo代码架构分析(二次开发)
  10. 三组计算机局域网组网方案,多种方式组建家庭局域网
  11. P8462 「REOI-1」奶油蛋糕
  12. C# winfrom 在button按钮上显示箭头
  13. 亿级流量 即时通讯IM系统 设计详解(全)
  14. r340服务器怎么接显示器,笔记本电脑如何连显示器_笔记本怎么链接显示器
  15. 【Spark重点难点】你从未深入理解的RDD和关键角色
  16. 谷歌您的个人资料_如何控制其他人可以看到的有关您的Google个人资料的信息
  17. MD5加密算法的原理和应用
  18. c语言常见warning的消除方法及重要性
  19. 解决 MySQL 5.7 中 Your password does not satisfy the current policy requirements. 问题
  20. 为什么网页无法正常显示

热门文章

  1. 关于JS中返回上一级
  2. python中文相似度计算_doc2vec计算文本相似度--python实现
  3. 软考高级 真题 2014年上半年 信息系统项目管理师 案例分析
  4. 如何查询多个快递物流,并删除部分单号
  5. 动态链接库和静态链接库的相互包含问题及实现
  6. Python学习13-15.1-15.12 保持时间、计划任务和启动程序
  7. 装oracle出现ora-01031,安装oracle后登录时出现 ERROR: ORA-01031 insufficient privileges
  8. 区块链零知识证明:STARKs,Part-3:攻坚(下)
  9. C++实验四—乘法口诀表
  10. 近世代数 笔记与题型连载 第十三章(环与域)