许多传输层有带外数据的概念,它有时也称为经加速数据。其想法是一个连接的某端发生了重要的事情,而且该端希望迅速通告其对端。这里“迅速”意味着这种通知应该在已排队等待发送的任何“普通”(有时称为“带内”)数据之前发送。也就是说,带外数据被认为具有比普通数据更高的优先级。带外数据并不需要在客户和服务器之间 ...
分类:
其他好文 时间:
2019-11-29 21:03:34
阅读次数:
102
IO复用使得程序可以同一时候监听多个文件描写叙述符,比方client须要同一时候处理用户输入和网络连接,server端须要同一时候处理监听套接字和连接套接字,select系统调用可以使得我们监听自己感兴趣描写叙述符。可读,可写,异常等事件。select能处理的异常仅仅有带外数据。能同一时候处理描写叙 ...
分类:
其他好文 时间:
2017-06-03 20:15:06
阅读次数:
196
最近一段时间在研究传屏低延迟传输相关的一些东西。本来想使用gstreamer来验证下rtp over udp传送h264 nal数据相关 的,结果发现竟然不能用playbin来播放rtp的数据!诚然,这也有其原因,因为rtp需要一些带外数据,这是不能简单通过流 来检查的,然而也没有手段简单传入sdp ...
分类:
其他好文 时间:
2016-12-07 20:32:28
阅读次数:
327
传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方.为了发送这些数据,协议一般不使用与普通数据相同的通道,而是使用另外的通道.linux系统的套接字机制支持低层协议发送和接受带外数据.但是TCP协议 ...
分类:
其他好文 时间:
2016-06-02 17:51:14
阅读次数:
266
#include #include #include #include #include #include #include #include int main( int argc, char* argv[] ){ if( argc = 0 ); if ( connect( sockfd...
分类:
其他好文 时间:
2015-10-14 00:17:11
阅读次数:
203
本文主要分为以下四个方面总结,分别为 TCP带外数据的概念,如何发送和接收带外数据,怎么检测带外数据的到达,最后介绍相关函数以及代码实现。
第一部分: TCP带外数据的概念
有很多传输层此协议都具有带外数据(OUT Of Band) 的概念,其...
分类:
其他好文 时间:
2015-06-26 00:34:04
阅读次数:
129
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main()
{
const char *ip="127.0.0.1";
int port=12345;
int ret=0;
struc...
分类:
系统相关 时间:
2015-03-11 17:12:39
阅读次数:
197
为何不直接将一个字节的紧急数据放在紧急指针哪里呢?
答:因为TCP数据包在ip层可能被拆包,成为多个数据段。一个包含紧急数据的数据包被拆成两个数据包,那么这两个包有的tcp头部有相同的紧急指针(和UGR)。如果将紧急数据直接放在紧急指针的内存处,那么将多出一个紧急数据!所以,不该将紧急数据放在TCP头部。
同时,在拆包后,对端将收到两个包,第一个包到达的时候就知道了UGR和紧急指针。如果紧急指针所指的位置已在该包的数据段中,那么紧急数据就到达了。否则,要等到第二个包到达的时候,才能去得到紧...
分类:
其他好文 时间:
2015-01-29 00:11:29
阅读次数:
693
我们一直在讨论等待某个描述字准备好 I/O (读或写)或是其上发生一个待处理的异常条件(带外数据)。尽管可读性和可写性对于普通文件这样的描述字显而易见,然而对于引起 select 返回套接口就绪的条件要更为复杂一些。
1、下列四个条件中的任何一个满足时,一个套接口准备好读:
该套接口接收缓冲区中的数据字节数大于等于套接口接收缓冲区低潮标记的当前大小。对这样的套接口的读操作将不阻塞并返回一个...
分类:
其他好文 时间:
2015-01-18 09:24:03
阅读次数:
229
有些传输层协议具有带外(Out Of Band,OOB)数据的概念,用于迅速通告对端本端所发生的重要事件。因此,带外数据比普通数据(也称为带内数据)有更高的优先级,它应该总是立即被发送,而不论发送缓冲区中是否有排队等待发送的普通数据或因流量控制而导致发送端的通告窗口大小为 0(即停止发送数据) 。带外数据的传输可以使用一条独立的传输层连接,也可以映射到传输普通数据的连接中。
UDP 没有实现带外数据传输,TCP 也没有真正的带外数据。只不过 TCP 利用其首部中的 紧急指针标志 和 紧急指针...
分类:
其他好文 时间:
2014-12-20 18:17:57
阅读次数:
255