TCP的成块数据流使用215_下载-软件无线电原理与应用第二版
20.5 PUSH标志在每一个T C P例子中,我们都看到了P U S H标志,但一直没有介绍它的用途。发送方使用该标志通知接收方将所收到的数据全部提交给接收进程。这里的数据包括与P U S H一起传送的数据以及接收方T C P已经为接收进程收到的其他数据。在最初的T C P规范中,一般假定编程接口允许发送进程告诉它的T C P何时设置P U S H标志。例如,在一个交互程序中,当客户发送一个命令给服务器时,它设置P U S H标志并停下来等待服务器的响应(在习题1 9 . 1中我们假定当发送1 2字节的请求时客户设置P U S H标志)。通过允许客户应用程序通知其T C P设置P U S H标志,客户进程通知T C P在向服务器发送一个报文段时不要因等待额外数据而使已提交数据在缓存中滞留。类似地,当服务器的T C P接收到一个设置了P U S H标志的报文段时,它需要立即将这些数据递交给服务器进程而不能等待判断是否还会有额外的数据到达。然而,目前大多数的A P I没有向应用程序提供通知其T C P设置P U S H标志的方法。的确,许多实现程序认为P U S H标志已经过时,一个好的T C P实现能够自行决定何时设置这个标志。如果待发送数据将清空发送缓存,则大多数的源于伯克利的实现能够自动设置P U S H标志。这意味着我们能够观察到每个应用程序写的数据均被设置了P U S H标志,因为数据在写的时候第20章TCP的成块数据流使用215下载
下载地址
用户评论