欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

带外数据

程序员文章站 2022-06-05 22:04:27
...

概述

许多传输层有带外数据的概念,有时候也称经加速数据。其想法是一个连接的某端发生了重要的事情,而且该端希望迅速通告其对端。这里的“迅速”意味着这种通知在已经排队等待发送的任何“普通”数据之前发送,也就是优先级更高。

 

  • TCP带外数据

TCP没有真正的带外数据,不过提供了紧急模式。假设一个进程已经往一个TCP套接字写出N字节数据,而且TCP把这些数据排队在该套接字的发送缓冲区中,等着发送到对端。即

带外数据

该进程接着以MSG_OOB标志调用send函数写出一个含有ASCII字符a的单字节带外数据:

send(fd, "a", 1, MSG_OOB);

TCP把这个数据放置在该套接字发送缓冲区的下一个可用位置,并把该链接的TCP紧急指针设置成再下一个可用位置,并把带外字节标记为“OOB”:

带外数据