首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python从LabVIEW解码TCP

问Python从LabVIEW解码TCP
EN

Stack Overflow用户
提问于 2020-04-29 23:49:42
回答 1查看 113关注 0票数 0

我正在尝试解码通过TCP从labview传来的数据。我想发送4位报头,表示消息的长度,后面跟着消息。

我的LabVIEW成功地将4个字节发送给了Python。Python接收b‘\x00\x016’,它清楚地表示一个字节的信息。

然后,我如何将命令解码回整数长度,以便我可以有一个额外的读取来读取消息的其余部分?

这是我的python脚本:

代码语言:javascript
复制
import socket

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('localhost', 9991))
server.listen(1)

while True:
    conn, addr = server.accept()
    messagelen = conn.recv(4)
    print(messagelen)
    bits = bytes.decode(messagelen)
    print(bits)
    server.close()

LabVIEW script

EN

回答 1

Stack Overflow用户

发布于 2020-04-30 18:34:24

你确定你收到的字节不是b'\x00\x00\x00\x16'吗?如果是,您可以使用struct模块来解包。

代码语言:javascript
复制
import socket
import struct

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('localhost', 9991))
server.listen(1)

while True:
    conn, addr = server.accept()
    bits = conn.recv(4)
    messagelen = struct.unpack('>i', bits)[0]
    print(messagelen)
    server.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61505977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档