2011-02-11 81 views
3

我将TCP/IP数据包分解为字符串格式。结构和存储的最佳方式是什么?我应该将它作为ctypes结构体,python类,字典还是其他方式存储?每种方法的优点和缺点是什么?Python。类,结构,字典?

+0

必须有某种库来处理这个的... – 2011-02-11 03:20:17

回答

8

你应该使用一个类。它为您提供了未来增长的最大灵活性。

字典有更详细的语法来访问它们的内容,并且不允许您在需要时添加方法。

ctypes实际上是用于访问打包用于其他API的结构。如果您的数据将保留在Python中,唯一的好处是它将在内存中更加紧凑。

1

林字典的东西的大风扇喜欢这样,因为

  1. 你可以做这样的事情thisPacket [“srcPort”]
  2. 然后,您可以胡乱塞进你的数据包到像MongoDB的,后来对它们进行查询在冷却的方式(即给我每个数据包进入端口80,并从一些特定的国家设置的子网)
1

我是一个具体要求的粉丝。

缺乏这些,我会去一个命名的元组。

你可以做一些事情,如thisPacket.srcPort

然后,您可以胡乱塞进你的数据包到类似的MongoDB和很酷的方式以后查询它们