什么是带外数据?

带外数据(out—of—band   data),有时也称为加速数据(expedited   data), 
是指连接双方中的一方发生重要事情,想要迅速地通知对方。 
这种通知在已经排队等待发送的任何“普通”(有时称为“带内”)数据之前发送。 
带外数据设计为比普通数据有更高的优先级。 
带外数据是映射到现有的连接中的,而不是在客户机和服务器间再用一个连接。 

在字节流服务中,由于没有报文边界,用户进程在某一时刻可以读或写任意数量的字节。为保证传输正确或采用有流控制的协议时,都要进行缓存。但对某些特殊的需求,如交互式应用程序,又会要求取消这种缓存。   在数据传送过程中,希望不通过常规传输方式传送给用户以便及时处理的某一类信息,如UNIX系统的中断键(Delete或Control-c)、终端流控制符(Control-s和Control-q),称为带外数据逻辑上看,好象用户进程使用了一个独立的通道传输这些数据。该通道与每对连接的流相联系。由于Berkeley   Software   Distribution中对带外数据的实现与RFC   1122中规定的Host   Agreement   不一致,为了将互操作中的问题减到最小,应用程序编写者除非与现有服务互操作时要求带外数据外,最好不使用它。
        对带外数据的实现一般使用BSD的紧急数据指针方式,即TCP只保证将紧急数据之前的所有数据一起返回给应用程序,而应用程序怎样处理这个事件完全由自己决定,甚至可以认为是一般的数据而不加以特别对待,所以对于一些设计不太合理的程序,比如根本不判断read的返回值之类的,反而根本不会受到OOB的影响。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值