0

我想建立一个持久的tcp connection

例如。与redis or mqtt or socket.io.

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

我正在寻找库/方法来实现这些(或其他服务器)之一的客户端,这些服务器可以无损地传递和接收数据。我不关心延迟,但我打算发送任一方向的数据必须毫无问题地到达。

客户端将在android 2.2上实现

4

3 回答 3

1

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

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

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

于 2012-06-13T15:58:03.543 回答
0

嘿 这里有一些可能对你有帮助的信息

于 2012-06-11T06:07:27.580 回答
0

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

于 2012-06-11T09:27:30.187 回答