zoukankan      html  css  js  c++  java
  • 网络编程-粘包

    粘包问题的产生

      TCP流式协议

        基于数据流的协议

      接收方产生粘包问题

        1.接收方不清楚数据有多长只接收了数据的一部分

        2.接收方多读取了数据

      发送方产生的粘包问题

        操作系统没有及时发送前一次的数据,导致两次数据粘在一起

      粘包问题的根本原因是接收方不清楚数据的长度

      TCP nigle 优化机制

        如果多次发送数据的数据量小并且时间间隔短,会把这一堆数据集在一起一次性发送,目的是为了降低网络传输次数

    解决粘包

      核心思路是先通知接收方,要发送的数据的长度,在发送真实的数据

      

    UDP

      基于数据报的传输协议,不会发生粘包问题

      因为数据是以报文的形式存在,每次发送都是以数据报的形式

      对方接收的也是一个个数据包

    struct模块

      将一个数据处理成固定长度的二进制

  • 相关阅读:
    svn备份
    Java Web开发引用包的方法
    nucht1.2二次开发增量采集
    程序集信息设置.net
    lucene的基本查询及lucene3.0.1API
    Asp.net网站部署
    C语言面试算法题(一)
    面试题
    C语言面试算法题(二)
    C++的IO流的函数
  • 原文地址:https://www.cnblogs.com/LinChengcheng/p/10458341.html
Copyright © 2011-2022 走看看