2011-02-11 4 views
3

Я разбираю пакет TCP/IP в строковый формат. Каков наилучший способ структурирования и хранения? Должен ли я хранить его как структуру ctypes, класс python, словарь или какой-либо другой способ? Каковы плюсы и минусы каждого метода?Python. Класс, Строка, Словарь?

+0

должна быть каким-то библиотека справиться с этим ... –

+1

Есть ли способ, что вы могли бы ** udpate * * вопрос с вашим пониманием (а) ваших требований и (б) как различные структуры соответствуют или не соответствуют вашим требованиям. «Разборка пакета TCP/IP» слишком расплывчата, чтобы дать нам полезные рекомендации. –

ответ

8

Вы должны использовать класс. Это дает вам максимальную гибкость для роста в будущем.

Словари имеют более подробный синтаксис для доступа к их содержимому и не позволяют добавлять методы, если они вам понадобятся.

ctypes действительно предназначен для доступа к структурам, упакованным для использования в других API. Если ваши данные будут оставаться на Python, единственное преимущество в том, что оно будет более компактным в памяти.

1

Im большой поклонник словарей для таких вещей, как это, потому что

  1. Вы можете делать вещи, как thisPacket [ «srcPort»]
  2. Вы можете просто засунуть свои пакеты в нечто вроде MongoDB и запросить их позже (то есть дайте мне каждый пакет, входящий в порт 80, и был из какой-то подсети с определенным набором флагов)
1

Я большой поклонник подробных требований.

Не имея этих, я бы пошел с именованным кортежем.

Вы можете делать такие вещи, как thisPacket.srcPort.

Вы можете просто засунуть свои пакеты в нечто вроде MongoDB и запросить их позже в прохладных способах

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

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