2014-03-28 25 views
0

首先,我在python中很新手,我已經使用python documentation,但我仍然不明白如何實現。在python中創建一個網絡發送到C

所以,我需要發送結構: UDP_PAQUET:

unsigned char type 
char ext[5] 
char data[50] 

我試着這樣做:

UDP_PKT = pack('BC5C50',"0x00", "2501", "user05") 

,但我得到一個:

bad char in stuct format 

有人能幫我一點嗎?

謝謝!

回答

0

首先,在struct module中沒有大寫C格式說明符。

在那之後,我認爲你要使用的s符爲extdata成員,並在第一0x00值不是作爲一個字符串傳遞,如:

UDP_PKT = pack('B5s50s', 0x00, "2501", "user05") 

(注意大小/重複計數格式說明之前出現)

...產生像打包字符串:

'\x002501\x00user05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'