长度不一的UDP包的数据内容怎么处理才不会遗漏
服务器端通过udp广播的方式向客户端发送报文,报文的格式如下:
****cccgc@num=01@time=20081122100100@cccfxx=110@cccfss=0.2@cccttt=14.7@cccfxx02=120@cccfss02=0.2@cccfxx10=150@cccfss10=0.5@cccfxx2bh=110-150@cccprr=0.0@ccctdd=10.1@cccuuu=74@cccmaxt=14.7@cccmint=8.0@cccfss10max=1.7@cccfss10mnm=0.2@cccfss02max=0.6@cccfss02mnm=0.1@cccfxx10bh=150-230@cccppp=816.2@cccqfe=816.35@cccqnh=1025.60@cccvvv=19404@cccygjs=3150@####
每一对“key=value”都是用@符号分隔。每条报文里的“key=value”个数不一样,所以长度也不一样,但是我python读取udp包里的数据的时候,如果用recv(1024)这样固定的缓冲区长度去读取,有时候会不能把一条完整的数据报文读取到,想请问下大伙,平时是如何处理这样的报文的?能提供个思路不?
ares38
9 years, 8 months ago