zoukankan      html  css  js  c++  java
  • 粘包问题的产生,解决

    粘包问题的产生:
    TCP协议是基于数据流的协议
    如果发送数据的数据字节多于接收方的缓存区容量就会出现粘包问题
    如果多次发送数据并且数据容量很小且时间间隔短,也会出现粘包问题

    如何解决粘包问题
    在每次传送数据之前先将要传输的数据转化为字节,然后用len()来得到
    长度,先传输长度,然后将接受的缓存区大小调整为长度,就不会出现粘包
    问题了
    但是传输长度也可能出现粘包问题,所以为了解决问题就使用struct模块
    struct模块专门用来转整数为一个固定长度的字节,例如:
    struct.pack('q',len(res))这就可以得到一个8个字节的传输的长度的字节
    然后接收方第一次接受长度信息只接受8个字节就能解决传输长度粘包问题了
  • 相关阅读:
    Vue项目搭建及原理三
    Vue项目搭建及原理一
    JS Cookie丢失问题
    1027 Colors in Mars
    1028 List Sorting
    1029 Median
    1030 Travel Plan
    1031 Hello World for U
    1032 Sharing
    1033 To Fill or Not to Fill
  • 原文地址:https://www.cnblogs.com/xiezuodd/p/10471145.html
Copyright © 2011-2022 走看看