移动设备的高效传输协议

时间:2011-04-02 15:00:30

标签: python optimization mobile network-protocols

我正在使用具有GPRS数据连接的平台。我现在拥有的是TCP或UDP上的自定义协议,我正在考虑改变它。处于当前状态的设备定期发送小块数据(假设30秒或5分钟 - 这可能,也可能会改变)。我担心的是,随着时间的推移,发送的数据将开始变得越来越复杂。我想要的是什么:

  • 在发送的信息和发送的数据大小之间具有良好平衡(尽可能好)的协议(GPRS需要花钱,因此发送的数据必须尽可能少)
  • 在数据包信息更改时易于扩展的协议

目前我的解决方案是:

  1. 自定义协议(我现在正在使用)
  2. 一个标准/开放协议(我听说过二进制xml但没有发现清楚的东西)。
  3. 约束:

    • 设备的计算能力很小,因此压缩数据是不可能的,除了RLE等cpu密集度较低的方法。

    • 使用的语言是python,关闭了很多功能(想象一下剥离的python实现只包含列表,字典,一些基本的字符串操作,异常,sys模块功能很少,元组和其他自定义(非标准)函数。)

    鉴于这些限制,什么是通过网络传输数据的好/最佳方法? (我指的是TCP / UDP上面使用的协议)

    任何信息/提示/经验/实施都是有帮助的。

    谢谢,

    尤利安

2 个答案:

答案 0 :(得分:2)

鉴于您的约束,正确编码的JSON听起来合理。

  • 相当轻量级(数据大小+引号和{})
  • 可扩展。您无需事先决定固定格式。添加密钥对于传输和接收都是微不足道的。
  • 您可以使用eval()获取Python字典(因为您的Python版本已被删除)。您也可以在Python 2.5+中使用simplejson而不依赖任何内容。
  • 这是跨其他语言(JavaScript等)进行数据交换的通用格式

答案 1 :(得分:0)

  

鉴于这种限制有什么好处   (最好的)传输方法   网络上的数据?

不知道这意味着什么,但您应该能够使用打开UDP或TCP连接 Python并根据需要传输您的数据......真正的问题是什么?

相关问题