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

wordpress文章导航黄山网站seo

wordpress文章导航,黄山网站seo,上海先进网站建设概念设计,济南媒体记者为什么说Tcp是面向字节流的: Tcp通信的本质是创建一个tcp的socket,同时就会对应的创建一个发送缓冲区和接收缓冲区。 调用write时, 数据会先写入发送缓冲区中;如果发送的字节数太长, 会被拆分成多个TCP的数据包发出如果发送的字节数太短, 就会先在缓冲…

为什么说Tcp是面向字节流的:

Tcp通信的本质是创建一个tcp的socket,同时就会对应的创建一个发送缓冲区和接收缓冲区。

  • 调用write时, 数据会先写入发送缓冲区中;
  • 如果发送的字节数太长, 会被拆分成多个TCP的数据包发出
  • 如果发送的字节数太短, 就会先在缓冲区里等待, 等到缓冲区长度差不多了, 或者其他合适的时机发送出去
  • 接收数据的时候, 数据也是从网卡驱动程序到达内核的接收缓冲区;然后应用程序可以调用read从接收缓冲区拿数据;
  • 另一方面, TCP的一个连接, 既有发送缓冲区, 也有接收缓冲区, 那么对于这一个连接, 既可以读数据, 也可以写数据. 这个概念叫做 全双工
  • 而其中的缓冲区,因为本质就是数组,而从数组上进行读、写操作,和河流比较像在流中进行数据的读取和写入!

Tcp协议的粘包问题

tcp协议将数据都放到了缓冲区中,而缓冲区中具体有几个报文是不确定的(因为发送的数据可大可小,可能一次报文就能把数据全部发过来,也可能一次只能发送半个 。。。),所以就类似于粘着的样子,对此我们就需要将数据分出来
对此就需解决上述问题,方案:

  1. 对于变长的包, 还可以在包和包之间使用明确的分隔符(应用层协议, 是程序猿自己来定的, 只要保证分隔符不和正文冲突即可在。报文特殊字符(\r\n)。
  2. 对于定长的包, 保证每次都按固定大小读取即可; 例如上面的Request结构, 是固定大小的, 那么就从缓冲区从头开始按sizeof(Request)依次读取即可。定长报文(确定报文长度)。
  3. 通过组合的策略解决问题
  4. 而对于UDP来说就不会有这种问题,因为UDP有明确的数据边界,并且站在应用层来看使用UDP的时候要么收到完整报文,要么不收。

TCP/UDP对比

  • TCP适用于需要可靠传输的情况, 应用于文件传输, 重要状态更新等场景;
  • UDP用于对高速传输和实时性要求较高的通信领域, 例如, 早期的QQ, 视频传输等. 另外UDP还可以用于广播
  • 各自有各自的优点,TCP的可靠性是中性词表示着它们适用于不同的场景。

用UDP如何实现可靠传输(经典面试题)

其实就是参考TCP协议实现可靠性的办法

  1. 超时重传,若隔一段时间后没收到应答,就重发数据
  2. 序列号,确保数据顺序,以及去除重复的数据
  3. 确认应答,确认数据确实发送过去

连接其他机器指令:telnet

telnet + ip + port

TCP层面相关实验理解listen的第二个参数backlog

当没有accept,也是能完成三次握手进行连接(表示即使没有accept不会影响)
此时底层tcp会在自己的连接中,维护一个全连接队列,队列中有效节点的个数是有上限的(也就是listen的第二个参数backlog + 1个,超过后就会变成半连接状态)
如下图backlog的情况:
在这里插入图片描述
下图是backlog = 6 + 1 当出现第8个连接时就会出现 SYN_RECV状态
这是因为,Linux内核协议栈为一个tcp连接管理使用两个队列:

  1. 半链接队列(用于保存处于SYN_SENT和SYN_RECV状态的请求)
  2. 全链接队列(Accept队列)用于保存established状态,但是应用层没有调用accept取走的请求

此处的全连接队列的长度就会受到listen第二个参数backlog的影响,当该队列满后,就无法让后面的连接状态为established(建立),就会形成SYN_RECV(SYN连接请求)状态

在这里插入图片描述
该半连接状态并不会持续很久,它会等待一会尝试连接,当有全连接状态退出时,就能变成全连接状态,否则就会消失

http://www.hrbkazy.com/news/39047.html

相关文章:

  • 专门做招商的网站是什么意思怎么在网上做广告
  • 做3d图的网站有哪些会计培训机构排名前十
  • 青岛教育平台网站建设seo外包优化服务商
  • 西藏网站建设电子商务主要学什么
  • 如何做网站的维护旅游企业seo官网分析报告
  • 有没有专门做帽子的网站上海优化公司有哪些
  • wordpress资源存在问题免费seo技术教程
  • 邯郸做网站推广的公司网站推广怎么做有效果
  • wordpress免费建站吗百度产品
  • 电子商务网站解决方案互联网营销方式
  • 淮南品牌型网站建设seo排名优化关键词
  • 武汉建设局天津搜狗seo推广
  • 装修网站怎么做的经典软文案例100例
  • 如何成为网站开发工程师湛江seo
  • 如何建设优化一个网站网络营销推广合作
  • 百度云 免费 网站主机微信视频号怎么推广引流
  • 做百度手机网站优化点网络营销推广软件
  • 低价网站建设公司靠谱吗谷歌排名推广公司
  • 朝阳区规划网站网红推广接单平台
  • 代办网站建设论坛seo教程
  • 成都广告推广策划宣传公司广东seo推广公司
  • 大型购物网站排名中央新闻直播今天
  • 网站的c4d动画是怎么做的常州网站推广排名
  • 广州市建设用地供应计划网站站长工具收录查询
  • 做推广可以在哪些网站发布软文去哪里找需要推广的app
  • 手机免费网站制作网页关键词优化软件
  • 网站seo谷歌域名注册商怎么查
  • 资阳抖音搜索优化短视频矩阵seo系统源码
  • 自己怎么做网站赚钱吗接广告的平台推荐
  • 潢川网站建设公司优化营商环境心得体会