URG与PSH_urg 和psh_ZHY_xz的博客-程序员宅基地

一、URG

URG(紧急位): 急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的)

二、PSH

PSH(急迫位): 在一个交互程序中,当客户发送一个命令给服务器时,它设置P U S H标志并停下来等待服务器的响应。通过允许客户应用程序通知其T C P设置P U S H标志,客户进程通知T C P在向服务器发送一个报文段时不要因等待额外数据而使已提交数据在缓存中滞留。类似地,当服务器的T C P接收到一个设置了P U S H标志的报文段时,它需要立即将这些数据(包括以前存中滞留的数据)递交给服务器进程而不能等待判断是否还会有额外的数据到达。PSH=1,只对接收方的接收缓冲区起作用,发送方通过使用PUSH位来通知接收方将所有收到的数据立即提交给服务器进程,而不需要等待额外数据(将缓存填满)而让数据在缓存中停留!这里所说的数据包括与此PUSH包一起传输的数据以及之前就为该进程传输过来的数据(滞留在缓存中的数据)。

三、二者的区别:

URG 紧急位,设置为1时,首部中的紧急指针有效;为0时,紧急指针没有意义;
PSH 推位,推功能,设置为1时,要求把数据尽快地交给应用程序;
通常的数据中都会带有PSH,但URG只在紧急数据时设置,也称”带外数据”,解释如下: 紧急指针
URG标志设置为1时,紧急指针才有效,紧急方式是向对方发送紧急数据的一种方式,表示数据需要优先处理。它是一个正的偏移,与TCP首部中序号字段的值相加表示紧急数据后面的字节,即紧急指针是指向紧急数据最后一个字节的下一字节。这是协议编写上的一个错误,RFC1122中对此给出了更正说明,紧急指针是数据最后一个字节,不是最后字节的下一位置。TCP首部中只有紧急指针指出紧急数据的位置,它所指的字节为紧急数据,但没有办法指定紧急数据的长度。

urg=1,紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的)psh=1就是是把接收缓冲中排好序的那一段数据交给上层

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35118894/article/details/74022924

智能推荐

SQL分类累计求和_sql按类型求和_@北海怪兽的博客-程序员宅基地

SQL 利用窗口函数的分类累计求和_sql按类型求和

SwiftUI之深入解析如何创建列表展示视图和列表如何导航跳转新页面_╰つ栺尖篴夢ゞ的博客-程序员宅基地

一、前言地标详情页视图已经创建完成,我们需要提供一种方式让用户可以查看完整的地标列表,并且可以查看每一个地标的详情。地标详情页视图的创建,请参考我的博客:SwiftUI之深入解析如何创建和组合视图。本文将分析如何创建一个可以展示任何地标信息的视图,并动态生成一个可滚动列表,用户可以点击列表项去查看地标的详细信息;优化视图显示时,可以使用 Xcode 画布来渲染多个不同设备大小下的预览视图。二、样本数据自定义视图所展示的信息都直接被写死在代码中,那么如将何自定义视图传入样本数据进行展示:

dom_田某人=-=的博客-程序员宅基地

dom 编程\Document 当浏览器载入 HTML 文档, 它就会成为 Document 对象 Document 作用:让我们访问 HTML 页面中的所有元素。document.body 获取body元素document.cookie 获取cookiedocument.documentElement 获取html元素document.title 获取文档的标题title常用方法创建一个元素对象//创建一个div元素var div = document.createEle

java学习笔记之日志处理-log4j配置_log4j logevent的logname是啥_疯狂的果丹皮er的博客-程序员宅基地

java学习笔记之日志处理-log4j配置 从接触日志开始就使用的是log4j,所以一直对他情有独钟。最近在学习Spring boot,发现还是用他顺手,所以就整理一下。当然啦整理的还是以前使用log4j的应用,Spring boot使用log4j配置基本不变。1、导包: log4j-x.x.x.jar..._log4j logevent的logname是啥

git 删除一个远程分支_Never Yu的博客-程序员宅基地

git 如何删除一个远程分支?首先查看所有本地和远程的所有分支,使用命令 git branch -a下面红色的三个分支就是 远程分支。删除远程 product 分支git push origin :product即可删除远程 product 分支。推荐:git 超详细介绍以及一些实用小技巧

Opencv打开摄像头并按格式保存视频和每帧图片以及连续帧的图片和视频相互转化(C++版本和Python版本)_hashell的博客-程序员宅基地

一、VideoCapture()类的常用API接口1.构建VideoCapture()对象实例C++版本cv::VideoCapture::VideoCapture(const string& filename); //input filenamecv::VideoCapture::VideoCapture(int device); //video capture denice idcv::VideoCapture::VideoCapture();Python版本cap=c

随便推点

从Blender导入模型到UE4,根骨骼缩放为100%问题的解决方法_blender导出根骨骼缩放100_疯花正猫的博客-程序员宅基地

blender导入到UE4的人体骨骼模型,在设定Scene的长度为Centimeters后进行导入,发现人体的根骨骼缩放为100,导致布料模拟和碰撞体无法正常碰撞。因此想了个曲线救国的办法在blender先将模型根骨骼节点选中,放大到100倍,ctrl+a 选择应用缩放变换。之后缩小100倍,直接导出。结果如图..._blender导出根骨骼缩放100

信息学奥赛一本通 1977:【08NOIP普及组】立体图 | 洛谷 P1058 [NOIP2008 普及组] 立体图_noip c++ 立体图_君义_noip的博客-程序员宅基地

先画最后一面墙的积木(也就是y轴上位置最大的积木),对于这面墙的积木,从左向右分别画出每列的积木,对于每列积木从下向上画。只要知道左下角在画布的位置,就可以根据co数组获取其相对位置上的积木图像的字符,覆盖原字符。对于每个格子上的积木,其中最高的那个积木会让图像纵向长度最大,比较每个格子上最高的积木,K取。输入矩阵中的第i行j列表示的格子,为三维坐标系中x轴方向第j位置,y轴方向第m-i+1位置。表示画一个积木,积木在三维坐标系中的坐标为(x,y,z)记长的方向为x轴,宽的方向为y轴,高的方向为z轴。..._noip c++ 立体图

hadoop-2.2.0安装方法详解_gnail_oug的博客-程序员宅基地

hadoop有三种安装模式: 单机模式:安装简单,几乎不用作任何配置,但仅限于调试用途 伪分布模式:在单节点上同时启动namenode、datanode、ResourceManager、NodeManager、secondary namenode等5个进程,模拟分布式运行的各个节点 完全分布式模式:正常的Hadoop集群,由多个各司其职的

分环境部署SpringBoot日志logback-spring.xml_diaojin6880的博客-程序员宅基地

springboot按照profile进行打印日志 log4j logback slf4j区别? 首先谈到日志,我们可能听过log4j logback slf4j这三个名词,那么它们之间的关系是怎么样的呢?SLF4J,即简单日志门面(Simple Logging Facade for JAVA),不是具体的日志解决方案,它只服务于各种各样的日志...

九度1456:胜利大逃亡_cjf1699的博客-程序员宅基地

题目1456:胜利大逃亡时间限制:1 秒内存限制:128 兆特殊判题:否提交:4576解决:1667题目描述:Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0,0)的位置,离

蓝桥杯练习系统(入门)_lancefate的博客-程序员宅基地

1 A+Bimport java.util.Scanner;/** * Created by m1786 on 2017/3/3. */public class Main{ public static void main(String args[]){ int a,b; Scanner sc=new Scanner(Sy

推荐文章

热门文章

相关标签