gpt4 book ai didi

python - 通过网络发送python ctypes结构

转载 作者:行者123 更新时间:2023-11-28 02:27:47 25 4
gpt4 key购买 nike

我有一个声明为 c_types 的结构

 class MyMessage(Structure):
__fields__ = [ ("name",c_char * 32), ("id", c_int) ]

我想使用以下伪代码通过 UDP 将此数据发送到我的 c++ 客户端

 myMessage = MyMessage()
socket.sendto( *myMessage*, host, port)

在我的 C++ 中,我通常在每个字段上调用 ​​hton,然后将结构写入 char 缓冲区。我如何在 python 中执行此操作?我看到人们使用 struct.pack,这是正确的方法吗?使用 struct.pack 格式化时是否应该处理 hton?

最佳答案

是的,你应该使用struct.pack。您可以在编写包格式字符串时指定字节顺序。要为 hton 格式化它,您可以使用 > 符号。请参阅 byte order and alignment 上的结构文档

>>> import struct
>>> struct.pack(">L", 1) # big endian
'\x00\x00\x00\x01'
>>> struct.pack("L", 1)
'\x01\x00\x00\x00'

关于python - 通过网络发送python ctypes结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29925602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com