python中出现黏包如何利用struct模块解决-创新互联

这篇文章将为大家详细讲解有关python中出现黏包如何利用struct模块解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

10多年专注成都网站制作,企业网站制作,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站制作,高端网页制作,对成都楼梯护栏等多个领域,拥有丰富的网站维护经验。

为什么会出现黏包现象:

首先只有在TCP协议中才会出现黏包现象,是因为TCP协议是面向流的协议,在发送的数据传输的过程中还有缓存机制来避免数据丢失,因此,在连续发送小数据的时候,以及接收大小不符的时候容易出现黏包现象。本质还是因为我们在接收数据的时候不知道发送的数据的长短。

解决黏包问题

在传输大量数据之前首先告诉接收端要发送的数据大小,如果想更漂亮的解决问题,可以通过struct模块来定制协议。

struct模块:

功能:可以把一个类型,如数字,转成固定长度的bytes。

import struct

ret = struct.pack('i',456872783)   #'i'代表int,就是即将要把一共数字转换成固定长度(4个字节)的bystes类型
print(ret)

num = struct.unpack('i',ret)  #转换回来,返回一个元组
print(num[0])  #提前元组中的值得到4096

当前名称:python中出现黏包如何利用struct模块解决-创新互联
本文路径:http://bzwzjz.com/article/dgidhe.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 移动网站建设 成都企业网站建设 网站设计 成都网站建设 网站制作 商城网站建设 网站建设公司 成都网站建设 成都网站建设 成都网站制作 成都网站设计 成都网站设计公司 成都网站设计制作公司 高端网站设计 成都网站制作 外贸营销网站建设 成都网站建设 成都网站建设公司 高端定制网站设计 响应式网站设计方案 网站设计 营销型网站建设