用于分离流中单个消息的实用程序库

datachunkp的Python项目详细描述


datachunk是一个有用的库,用于在发送消息的流中处理消息。 如下图所示的流: <;msg size>;<;msg bytes>;<;msg size>;<;msg bytes>;<;msg size>;… msg size是一个4字节整数(小尾数) 每当读取完整消息时,datachunk调用处理程序的handle_msg方法。

信息可能是碎片。有时一个数据包中可能会有许多消息。 我们需要做的就是调用datachunk的process\u chunk方法,datachunk对象将负责 在需要时重新组合消息。

基本示例

from__future__importprint_functionfromstructimportpackimportrandomfromdatachunkpy.datachunkimportDataChunk,MessageHandler# A message handler classclassMyMsgHandler(MessageHandler):def__init__(self):self.msg_processed=0self.bytes_processed=0defhandle_msg(self,data):print('I am handling',data)self.msg_processed+=1self.bytes_processed+=len(data)datach=DataChunk(MyMsgHandler())i=0random.seed()mydata=b''total_bytes=0whilei<10000:i+=1j=random.randint(1,50)mydata+=pack('i',j)mydata+=b'a'*jtotal_bytes+=jdatach.process_chunk(mydata)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于切换状态结果的枚举的java输入   检测*NIX上打开的端口时出现java问题   java捕获和保存屏幕截图   java SLF4JLogback:基于日志级别的多模式   Java从字符串中删除动态子字符串   在spring引导中contextLoads测试时运行java Liquibase   基于规则集的任意嵌套POJO的java任意就地转换   java如何做,边做边循环这段代码?   java是什么导致jmh测量中的错误?   java Spring RabbitTemplate执行方法可见性   java jms创建连接http超时weblogic   java如何在JMapViewer中的两点之间放置像箭头一样的图像   在我的形状计算器Java程序中使用带有Switch/Case语句的循环   字符串如何在Java中比较字符和数字