美文网首页
带外数据

带外数据

作者: 小胖_20c7 | 来源:发表于2019-07-08 11:53 被阅读0次
    Out-of-band data
    Out-of-band data is sent ahead of any data that is already queued for transmission
    但实际上,和普通数据共享数据流,是没有先后的(限TCP协议实现)
    本质上是,tcp协议头上有urgent位,并记录了带外数据的位置偏移
    
    一些注意的点
    TCP supports out-of-band data,bug UDP doesn’t
    TCP refers to out-of-band data as ‘‘urgent’’ data
    TCP supports only a single byte of urgent data,but allows urgent data to be delivered out of band from the normal data delivery mechanisms
    
    带外数据的通知:
    1 信号通知
            需要设置所有者进程,fcntl(sockfd, F_SETOWN, pid);
    2 select,poll等io复用通知
    无论1 or 2,这时候都可以用MSG_OOB标记,来接受数据
    
    也可以不关注带外数据的通知,从正常数据流中读取带外数据
    1 设置SO_OOBINLINE(改变socket读取数据的行为)
    2 通过int sockatmark(int sockfd),来标记带外数据的出现
    

    相关文章

      网友评论

          本文标题:带外数据

          本文链接:https://www.haomeiwen.com/subject/ystohctx.html