2012-06-11 94 views
0

我想建立一个持久的tcp connection如何通过GPRS移动网络建立持久连接?

例如。与redis or mqtt or socket.io

我唯一担心的是GPRS移动网络连接的可靠性。

我正在寻找库/方法来实现客户端到其中一个(或其他服务器),可以交付和接收数据没有损失。我并不担心等待时间,但我打算向任一方向发送的数据必须没有问题。

客户端将在Android 2.2

+0

接受回答以奖励最佳答案会很棒。 :)只是一个提示 –

回答

1

MQTT提供了保证使用消息握手进行消息传输的服务质量级别。如果连接因任何原因失败,则客户端库将在连接返回后重试消息传递。

  • QoS级别0表示该消息最多只能被服务器接收一次。
  • QoS级别1表示该消息至少会被服务器接收一次。
  • QoS级别2表示该消息将被服务器接收一次。

您需要QoS> 0,并检查实施是否在断开情况下正确恢复。

0

TCP做了一些基本的一致性检查来实现你。 But it's only a 32 bit CRC因此,您的敏感数据和不可靠网络(GPRS或其他)的组合意味着您必须实施您自己的附加验证方案。我认为MD5 hashing对你来说已经足够了,所以除了你的数据之外,还要发送一个16字节的MD5指纹。谷歌会告诉你关于MD5如何陈旧,虚弱,过时等等的故事,至少SHA-1是必须的。这是真的,但在密码学方面。你不是以安全为目标,你只需要一个完整性检查,对此MD5绝对没问题,并且比其他任何东西都快。