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

php网站文件夹恶意复制 空间占满/营销型网站建设运营

php网站文件夹恶意复制 空间占满,营销型网站建设运营,永登网站设计与建设,长沙网站建设长沙网站制作http://www.cnblogs.com/lwzz/archive/2011/07/03/2096963.html TCP是一种流协议(stream protocol)。这就意味着数据是以字节流的形式传递给接收者的,没有固有的"报文"或"报文边界"的概念。从这方面来说,读取…

http://www.cnblogs.com/lwzz/archive/2011/07/03/2096963.html

TCP是一种流协议(stream protocol)。这就意味着数据是以字节流的形式传递给接收者的,没有固有的"报文"或"报文边界"的概念。从这方面来说,读取TCP数据就像从串行端口读取数据一样--无法预先得知在一次指定的读调用中会返回多少字节(也就是说能知道总共要读多少,但是不知道具体某一次读多少)。

为了说明这一点,我们假设在主机A和主机B的应用程序之间有一条TCP连接,主机A上的应用程序向主机B发送一条报文。进一步假设主机A有两条报文要发送,并两次调用send来发送,每条报文调用一次。很自然就会想到从主机A向主机B发送的两条报文是作为两个独立实体,在各自的分组中发送的,如图 2-25所示。

 

但 不幸的是,实际的数据传输过程很可能不会遵循这个模型。主机A上的应用程序会调用send,我们假设这条写操作的数据被封装在一个分组中传送给B。实际 上,send通常只是将数据复制到主机A的TCP/IP栈中,就返回了。由TCP来决定(如果有的话)需要立即发送多少数据。做这种决定的过程很复杂,取决于很多因素,比如发送窗口(当时主机B能够接收的数据量),拥塞窗口(对网络拥塞的估计),路径上的最大传输单元(沿着主机A和B之间的网络路径一次可 以传输的最大数据量),以及连接的输出队列中有多少数据。下图只显示了主机A的TCP封装数据时可能使用的诸多方法中的4种。在图2-26中,M11和M12表示M1的第一和第二部分,M21和M22与之类似。如图2-26所示,TCP不一定会将一条报文的全部内 容都放在一个分组(一个包)中传送出去。


 

现在,我们从主机B应用程序的角度来看这种情形。总的来说,主机B应用程序任意一次调用recv时,都不会对TCP发送给它的数据量做任何假设。比如,当主机B应用程序读取第一条报文时,可能会出现下列4种结果。

实际上,可能的结果不止4种,但我们忽略了出错和EOF之类的结果。我们还假设应用程序读取了所有可读的数据。

(1)没有数据可读,应用程序阻塞,或者recv返回一条指示说明没有数据可读。到底会发生什么情况取决于套接字是否标识为阻塞,以及主机B的操作系统为系统调用recv指定了什么样的语义。

(2)应用程序获取了报文M1中的部分而不是全部数据。比如,发送端TCP像图2-26D那样对数据进行分组就会发生这种情况。

(3)应用程序获取了报文M1中所有的数据,除此之外没有任何其他内容。如果像图2-26A那样对数据分组就会发生这种情况。

(4)应用程序获取了报文M1的所有数据,以及报文M2的部分或全部数据。如果像图2-26B或图2-26C那样对数据进行分组就会发生这种情况。

注意,这里还有一个定时问题。如果主机B的应用程序在主机A发送了第二条报文之后一段时间内都没有读取第一条报文,那么这两条报文都会成为可读的。这就和图2-26B所示情况相同了。这些描述说明,通常,在任意指定时刻,可读的数据量都是不确定的。

需要再次说明的是,TCP是一个流协议(stream protocol),尽管数据是以IP分组的形式传输的,但分组中的数据量与send调用中传送给TCP多少数据并没有直接关系。而且,接收程序也没有什么可靠的方法可以判断数据是如何分组的,因为在两次recv调用之间可能会有多个分组到来。即使接收端应用程序的响应非常及时,也可能会发生这种情况。例如,一个分组丢失了,而且后继分组都安全到达,TCP会将后继分组中的数据保存起来,直到重传第一个分组并正确收到为止。此时,所有数据对应用程序都是可用的。

TCP会记录它发送了多少字节,以及确认的字节,但它不会记录这些字节是如何分组的。实际上,有些实现在重传丢失分组的时候传送的数据可能比原来的多一些或少一些。

对TCP应用程序来说,就没有"分组(包)"这种概念。如果应用程序的设计与TCP对数据的分组方式有所关联,就应该考虑重新设计这个应用程序了。

 

既然任意一次指定的读操作中返回的数据量都是不可预测的,就必须在应用程序中做好应对这种情况的准备,这些情况下边界都是由应用程序级维护的。

 

最简单的情况就是定长报文。在这种情况下,只需要读取报文中固定数量的字节就可以了。

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

相关文章:

  • WordPress做漫画网站/其他搜索引擎
  • 网站漏洞怎么修复/又有什么新病毒出现了
  • 武汉免费做网站/百度知道官网
  • 可以做四级的网站/搜索引擎优化实训
  • 用什么给网站做测试/推广之家app下载
  • 免费网站部署/黑龙江头条今日新闻
  • 网站开发费用多少/如何推广新产品的方法
  • 北京市建设工程信息网查询/网站排名优化方法
  • 官方网站手机专卖店/标题关键词优化技巧
  • 企业检索网站建设/郑州外语网站建站优化
  • 做企业福利网站起名/东莞疫情最新消息今天新增
  • 浏览器如何做购物网站/网络营销一般月薪多少
  • 网站查询功能怎么做/百度云群组
  • 网站建设色调的/seo网站推广服务
  • wordpress 查看文章404/贵州seo学校
  • 网站开发需求说明书/新闻最新消息今天
  • 二建转注辽宁建设主管部门网站/广州品牌营销策划公司排名
  • b2b商业模式/长沙靠谱seo优化价格
  • 广州网站手机建设公司/怎么制作网址
  • 论文收录网站有哪些/注册域名费用一般多少钱
  • 怎样在b2b网站做推广/东莞新闻头条新闻
  • 免费建设淘宝客网站/镇江seo
  • 杭州专业网站设计制作公司/淘宝引流推广平台
  • 乡村网站建设/91永久海外地域网名
  • 武汉 网站建设 招标公告/爱站seo工具包官网
  • 什么人适合做服装设计师/惠州seo排名优化
  • 做网站设计制作的/中国新闻网发稿
  • 2017湖北建设教育协会网站/临沂seo全网营销
  • 阿里云服务器网站建设/百度培训
  • html网站模板资源/最近新闻摘抄50字
  • RK3568 Linux驱动学习——字符设备驱动开发
  • Java开发时出现的问题---语言特性与基础机制陷阱
  • sqli-labs:Less-27a关卡详细解析
  • 嵌入式硬件中三极管推挽电路控制与实现
  • 【Keras学习笔记】手写识别
  • 【项目实践】在系统接入天气api,根据当前天气提醒,做好plan