首页 > 编程知识 正文

python建立tcp请求(python tcp客户端)

时间:2023-05-06 00:25:53 阅读:64007 作者:3441

您将要对通过TCP连接接收到的数据进行解码。 数据包很小,不超过100字节。 但是,当它们很多的时候,我会收到一些连接的包。 有防止这个的方法吗? 我在用蟒蛇

我已经试着分离数据包了。 我的来源如下。 数据包以stx字节开始,以etx字节结束。 stx之后的字节是分组长度。 (小于5的数据包长度无效。 )校验和是etx之前的最后一个字节。

德夫译码(数据) :

while True:

start=data.find(STX )

if start==-1: # nostxinmessage

pkt=' '

data=' '

布雷克

#stx found,next byte is the length

PK tlen=ord (数据[1] ) ) ) ) ) )。

# checkmessageendsinetx (PKT ken-1 ) or checksum invalid

if pktlen 5 or data[pktlen-1]!=etxorchecksum _ valid (data [ start : PK tlen ] )==False:

print 'Invalid Pkt '

data=data[start 1:]

连续

else:

pkt=data[start:pktlen]

data=data[pktlen:]

布雷克

返回数据,pkt

我就是这样用的

#流程报告

try:

是DATA=sock.recv(256 )

except: continue

else:

while data:

数据,PKT=解码(数据)

if pkt:

是处理(PKT )

另外,在数据流中有多个包情况下,优选将这些包作为列表的集合返回,还是仅返回最初的包

我对python不太熟悉,只有c,用这个方法可以吗? 任何建议都是最受欢迎的。 早点谢谢

谢谢

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。