2014-03-28 3 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

Во-первых, нет прописной буквы C спецификатор формата в struct module.

После этого, я думаю, что вы хотите использовать s спецификатор для ext и data членов, а не в тот первый 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' 

 Смежные вопросы

  • Нет связанных вопросов^_^