代码拉取完成,页面将自动刷新
import logging # 引入logging模块
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s [line:%(lineno)d] - %(levelname)s: %(message)s')
def structure_reqeust(data_type, data) -> bytes:
"""
构建数据包
:param data_type:
:param data:
:return:
"""
packet = "{type}&|&{len}&|&{data}".format(type=data_type, len=len(data), data=data)
return packet.encode()
def parse_packet(data: bytes, split_text, recv_len):
"""
:param data:
:param split_text:
:param recv_len:
:return:
"""
try:
data_type, data_len, data = data.split(split_text.encode(), 2)
except ValueError as e:
return 'error', 0, b"", 0, True
# 计算信息头数据长度
head_len = (len(split_text) * 2) + len(data_len) + len(data_type)
# 计算剩下的数据 ((数据长度 + 信息头长度) = 数据包总长) - 已经接收的 1024 字节,
# 得到的结果就是该数据包剩下的数据长度
return data_type, data_len, data, ((int(data_len) + head_len) - recv_len), False
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。