我正在編程一個應用程序,使用Python 3.1的UDP套接字發送數據。將整數十六進制格式轉換爲字符串
命令socket.send
需要字節格式的數據。
我遇到的問題是我必須發送的包有三個不同的字段,第一個包含一個16位整數變量(c_ushort
),第二個字段也是如此,而第三個字符串的長度可以是最多900個字符。
然後我決定創建一個包含這三個字段的結構:
class PHAL_msg(Structure):
_fields_ = [("Port", c_ushort),
("Size", c_ushort),
("Text", c_wchar_p)]
我希望我可以只將其轉換爲字節對象發送這個對象:
Msg_TX = PHAL_msg(Port=PHAL_ADDRESS, Size=PAYLOAD_SIZE, Text='HELLO woRLD!')
socket.send(bytes(Msg_TX))
,但這是行不通的。
任何想法如何做到這一點?
問候
修復你的代碼格式和發佈您的實際類 – 2010-08-31 13:54:26