python 用struct模块解决黏包问题

上传:shenbin_91061 浏览: 21 推荐: 0 文件:PDF 大小:50.58KB 上传时间:2020-12-17 19:04:55 版权申诉
为什么会出现黏包现象: 首先只有在TCP协议中才会出现黏包现象,是因为TCP协议是面向流的协议,在发送的数据传输的过程中还有缓存机制来避免数据丢失,因此,在连续发送小数据的时候,以及接收大小不符的时候容易出现黏包现象。本质还是因为我们在接收数据的时候不知道发送的数据的长短。 解决黏包问题 在传输大量数据之前首先告诉接收端要发送的数据大小,如果想更漂亮的解决问题,可以通过struct模块来定制协议。 struct模块: 功能:可以把一个类型,如数字,转成固定长度的bytes。 import struct ret = struct.pack('i',456872783) #'i'
上传资源
用户评论