python协议_对python自定义协议的方法详解

更新时间:2023-07-19 05:10:41 阅读: 评论:0

python协议_对python⾃定义协议的⽅法详解
前⾯说到最近在写python的⼀些东西,然后和另外⼀位⼩伙伴定义了协议,然后昨天我有⼀部分东西没理解对,昨天上午我⾃⼰重写了⼀遍接收和发送的全部逻辑,昨天下午补了压⼒测试的脚本,⾃测没问题之后告知联调的⼩伙伴。
结果上午还是出了⼀点问题,然后我们两对代码,他写了⼀个python的实现。还好最后我这边没问题。(我也害怕是我这边出问题啊,所以我⾃⼰的代码都⾃⼰检查了好⼏遍)
简单放⼀下他的实现:
import struct
车载充电器怎么用import ctypes
class E(Exception):
def __init__(lf, what):
lf.what = what
def __str__(lf):西藏的英文
return lf.what
def unmarshall_packet(pk):
if len(pk) < 12:
rai E("Invalid pk header")
size, uri, prop_count = struct.unpack("
print "size:%d uri:%d prop_count:%d" % (size, uri, prop_count)
if len(pk) - 12 != size - 8:
rai E("Invalid pk length")
ss = pk[12:]
offt = 0
瓦尔拉斯均衡
for x in range(0, prop_count):
# Pop key
key_size, = struct.unpack_from("
print "key_size:%d" % (key_size,)
email是什么意思
offt += 4
key, = struct.unpack_from("
offt += key_size
# Pop value
val_size, = struct.unpack_from("
offt += 4
print "val_size:%d" % (val_size,)
简历val, = struct.unpack_from("
offt += val_size
print "key:%s val:%s" % (key, val)
key1 = "key1"
val1 = "val1"
key2 = "key2"
val2 = "val2"
offt = 0
ss = ate_string_buffer(9085)
struct.pack_into("
offt += 12
struct.pack_into("
len(val1) + 1, val1, '\0',
宝宝脑瘫
len(key2) + 1, key2, '\0',
我的新年愿望300字作文len(val2) + 1, val2, '\0')
offt += len(key1) + len(val1) + len(key2) + len(val2) + 4 + 16
unmarshall_packet(ss[:offt])
"""
hex=""
ss = bytearray.fromhex(hex)
unmarshall_packet(ss)
校本教研计划
有很多可以学习的地⽅
⼀个是python 的 struct 对 bytearray 的操作真是舒服,直接放进去就可以了(之前我有不少东西都是徒⼿解的,回头再⽤这个优化下⾃⼰的代码吧。)
另外⼀个是vi写代码真是直接⽅便
要说缺点的话,应该是⽤私有协议,没有第三⽅⼯具可以作为公证,例如postman之类的。
以上这篇对python ⾃定义协议的⽅法详解就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。
本⽂标题: 对python ⾃定义协议的⽅法详解

本文发布于:2023-07-19 05:10:41,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1087323.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:协议   希望   定义   接收
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图