网络传输的数据处理

时间:2013-11-15 15:05:13

标签: python networking application-design

我目前正在设计一个需要数据传输的应用程序。我目前正在研究将构建将通过网络级服务发送的数据包的客户端软件。

我应该使用哪种数据类型进行网络传输?我目前正在思考是否应该使用物理数据文件(.dat),它可以通过Python轻松操作(创建/读取/等)或仅使用内部数据。从管理和组织的角度来看,我认为基于文件的数据可能是最容易在网络级别上操作和处理的。 如果我更倾向于内部(Python)数据处理方法,那么我的出发点应该是什么?我应该看看词典吗?总体目标是保持数据量最小化。使用基于文件的数据,我相信我只会查看实际传输的几个字节。本机平台将是Windows,但我也想看看我的移动立场选项(Android / iOS)。

该计划的目的是数据输入。用户输入将被记录,打包,加密并(通过WAN)发送到服务器,然后将其存储在数据库中以供以后查询。

1 个答案:

答案 0 :(得分:0)

肯定有最好的做法。

作为第一个建议,您绝对应该将实现与通过网络发送/接收数据时使用的表示形式分离。不要使用Python dicts。使用广泛接受的序列化格式,如JSON,ASN.1或协议缓冲区。确保您清楚地知道需要通过网络发送什么以及要求是什么(延迟,吞吐量,编码/解码的CPU时间等)并选择适合它们的东西。

其次,使用事实上或法律上的标准进行网络通信。无论是REST,AMQP还是其他任何东西 - 由于你的问题太宽泛,所以无法确定哪一个最合适。但请确保您没有实施自己的内部adhoc应用程序层协议 - 您只会让您的生活和同事的生活变得更加艰难。

我建议您多考虑一下自己想做什么,并在以后发布更具体的问题。