当前位置: 首页 > news >正文

涪陵网站建设/学网络与新媒体后悔死了

涪陵网站建设,学网络与新媒体后悔死了,重庆网站建设咨询,自己在线制作logo免费广告招牌2019独角兽企业重金招聘Python工程师标准>>> 1 概述 喜多传输层由带外数据(out-of-band data)的概念,它有时也称为经加速数据(expedited data)。其想法是一个连接的某端发生了重要的事情,而且该…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1 概述

  喜多传输层由带外数据(out-of-band data)的概念,它有时也称为经加速数据(expedited data)。其想法是一个连接的某端发生了重要的事情,而且该端希望迅速通告其对端。这里“迅速”意味着这种通知应该在已经排队等待发送的任何“普通”(有时称为“带内”)数据之前发送。也就是说,带外数据被认为具有比普通数据更高的优先级。带外数据并不要求在客户和服务器之间再使用一个连接,而是被映射到已有的连接中。

2 TCP带外数据

  TCP并没有带外数据,而是提供了紧急模式(urgent mode)。假设一个进程已经往一个TCP套接字写出N字节数据,而且TCP把这些数据排队在该套接字的发送缓冲区中,等着发送到对端。图1-1展示了这样的套接字发送缓冲区,并标记了从1到N的数据字节。

180924_lVsN_2537915.jpg

图1-1 含有待发送数据的套接字发送缓冲区

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

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

 

  TCP把这个数据放置在该套接字发送缓冲区的下一个可用位置,并把该连接的TCP紧急指针(urgent pointer)设置成再下一个可用位置。图1-2展示了此时的套接字发送缓冲区,并把带外字节标记为“OOB”。

181727_zdPQ_2537915.jpg

图1-2 应用进程写入1字节带外数据后的套接字发送缓冲区

 

3 sockatmask函数

  每当收到一个带外数据时,就有一个与之关联的带外标记(out-of-band mark)。这是发送进程发送带外字节时该字节在发送端普通数据流中的位置。在套接字读入期间,接收进程通过调用sockatmask函数确定是否处于带外标记。

/* Determine wheter socket is at a out-of-band mark.  */
extern int sockatmark (int __fd) __THROW;

 

  带外标记有以下两个特性。

  1. 带外标记总是指向普通数据最后一个字节紧后的位置。这意味着,如果带外数据在线接收,那么如果下一个待读入的字节是使用MSG_OOB标识送的,sockatmark就返回真。而如果SO_OOBINLINE套接字选项没有开启,那么,若下一个待读入的字节是跟在带外数据后发送的第一个字节,sockatmark就返回真。

  2. 读操作总是停在带外标记上。也就是说,如果在套接字接收缓冲区中有100个字节,不过在带外标记之前只有5个字节,而进程执行一个请求100个字节的read调用,那么返回的是带外标记之前的5个字节。这种在带外标记上强制停止读操作的做法使得进程能够调用sockatmark确定缓冲区指针是否处于带外标记。

  3. 即使因为流量控制而停止发送数据了,TCP仍然发送带外数据的通知(即它的紧急指针)。

  4. 在带外数据到达之前,接收进程可能被通知说发送进程已经发送了带外数据(使用SIGURG信号或通过select)。如果接收进程接着指定MSG_OOB调用recv,而带外数据却尚未到达,recv将返回EWOULDBLOCK错误。

  5. 如果在接收进程读入某个现有带外数据之前有新的带外数据到达,先前的标记就会丢失。

 

 

 

 

转载于:https://my.oschina.net/u/2537915/blog/665429

http://www.lbrq.cn/news/791317.html

相关文章:

  • 网站制作教程ps/网络营销方法有哪些举例
  • 自己做网站花费/网站指数查询
  • 做网站图片素材在线编辑/外贸营销渠道
  • wordpress直播接入/seo企业顾问
  • 百度免费网站空间/网络营销的特点举例说明
  • 权威的大连网站建设/网络销售推广是做什么的具体
  • 绵阳公司网站制作公司/wp博客seo插件
  • 惠东做网站公司/百度推广按效果付费是多少钱
  • mac做网站的软件/软文广告经典案例分析
  • 软件工程师有前途吗/seo推广优化平台
  • 如何建设一个工业品采购网站/荆州seo推广
  • 做网站vi系统是什么/有创意的网络广告案例
  • wordpress登陆可见设置/关键词优化是怎样收费的
  • 开源低代码开发平台/锦州seo推广
  • 做最好的win7系统下载网站/搜索引擎优化理解
  • 中山网站推广外包/网络营销专业就业公司
  • 400元网站建设/优化快速排名公司
  • 杭州网站制作维护/seo网页推广
  • 台州企业网站制作公司/长沙网站seo服务
  • 企业网站建设和实现 论文/yandx引擎入口
  • 申请网站平台怎么做/数据分析
  • 深圳大浪网站建设/新闻最近的大事10件
  • vs2015做的网站/百度推广官网入口
  • 公司网站更新/名优网站关键词优化
  • 美妆网站怎么做/武汉网站推广很 棒
  • 网站建设优化服务公司/整站优化系统厂家
  • 西安比较好的网络公司/惠州seo网络推广
  • 做网站怎么那么难/如何利用互联网进行宣传推广
  • 大学学校类网站设计/seo专业技术培训
  • 鹤壁建设网站推广公司/手机百度高级搜索
  • 【异常案例分析】使用空指针调用函数(非虚函数)时,没有崩溃在函数调用处,而是崩在被调用函数内部
  • 关于assert()函数,eval()函数,include
  • Spring lookup-method实现原理深度解析
  • 如新能源汽车渗透率模拟展开完整报告
  • 《汇编语言:基于X86处理器》第11章 MS-Windows编程(3)
  • 【嵌入式硬件实例】-555定时器IC的负电压发生器