zoukankan      html  css  js  c++  java
  • 粘包和半包

      在网络传输过程中粘包和半包中经常出现的现象。

      在TCP传输中,客户端发送消息时,实际上是将数据写入TCP的缓存,此时数据的大小和缓存的大小就会造成粘包和半包的原因。

      例如:

      客户端给服务端发送了两条消息ABCDEF,服务端这边的接收会有多少种情况呢?有可能是一次性收到了所有的消息ABCDEF,有可能是收到了三条消息ABCDEF

    上面所说的一次性收到了所有的消息ABCDEF,类似于粘包,收到三条消息的类似于半包

      由此可见当数据超过TCP缓存容量时,这个数据会被拆分成多个包,通过socket多次发送到服务端,服务端每次从缓存中取数据 就会造成半包的问题。

      当数据小于TCP容量时,TCP缓存中可以存放多个包,那个客户端和服务端一次通信就可能传递多个包,这时候服务端就可能一次读取多个包,产生粘包的问题

  • 相关阅读:
    String API
    正则表达式语法
    正则表达式定义与创建
    jQuery——子元素筛选器
    基本筛选器
    内置对象和包装类型
    栈和队列
    web前端css实现六边形效果
    jquery选择器
    AE导出mov
  • 原文地址:https://www.cnblogs.com/volare/p/12313333.html
Copyright © 2011-2022 走看看