Python - вопрос по работе с сетевым буфером - PullRequest
0 голосов
/ 01 марта 2011

Я хочу создать игровой сервер на python. В основном игра будет передавать небольшие пакеты, заполненные целыми числами, строками и байтами, объединенными в одно сообщение. Поскольку я использую другой язык для написания игры, обычный пакет будет отправлен примерно так:

Writebyte(buffer, 5); // Delimit type of message
Writestring(buffer, "Hello");
Sendmessage(buffer, socket);

Как видите, он записывает байты в буфер и отправляет буфер. Есть ли способ прочитать что-то подобное в Python? Мне известен модуль struct, и я использовал его для упаковки вещей, но я никогда не использовал его для чтения чего-либо со смешанными типами, вставленными в одно сообщение. Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 01 марта 2011
0 голосов
/ 01 марта 2011

Я бы порекомендовал использовать Буферы протокола Google . Протокол Buffers предоставляет вам многоязычную, быструю, расширяемую платформу сериализации сообщений. Вы можете легко добавлять поля позже, анализировать сообщения на большинстве популярных языков и вставлять типы сообщений в другие типы сообщений. Это сэкономит вам много времени по сравнению с кодированием вашей собственной платформы сериализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...