[英]How to convert data which is received from udp to ctype struct in Python?
我正在使用Python 2.7.6 ctypes struct:
class TestStruct(Structure):
_fields_=[
("ValueA",c_int),
("StringA",c_char*9)
]
我從udp那里得到數據是這樣的:
sock = socket.socket(socket.AF_INET,
socket.SOCK_DGRAM)
sock.bind((self.__ip,self.__port))
print("Starting Receiving......")
while True:
try:
(data,addr) = sock.recvfrom(1024)
t = cast( data, POINTER(TestStruct))
print t.ValueA
#print(data[0])
#print(type(data))
except Exception,ex:
print ex
break
如您所見,我使用的是“ cast”,但轉換后的類型是:“ main .LP_TestStruct”。
我想得到的是TestStruct對象,我應該使用什么功能? 謝謝!
您可以執行t.contents
以獲取指針指向的對象(TestStruct)。 但是我想您可以為此使用Python的struct
模塊,甚至更好(如@eryksun所述)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.