5

我正在使用 HTTP post 将数据发送到服务器,并成功地在服务器上触发。现在在发送数据和等待服务器响应之间,突然由于网络问题,我的安卓设备失去了互联网连接。在设备 m 中,能够显示连接丢失的警报对话框,但在服务器端,数据已被处理,并且已在数据库中更新,即 MySQL 服务器但我的 android 设备不知道这个 bcoz,直到它没有得到服务器的任何响应。如何解决它。

是否可以在服务器端或android应用程序中完成,如何?

服务器如何知道 android 手机直到现在还没有得到响应?

任何想法..等待答案???

4

2 回答 2

3

对于从设备发送到服务器的每个请求,您应该生成唯一 ID(例如检查GUID )

然后你用这个 ID 向服务器发送请求,如果连接丢失 - 尝试用相同的 ID 重新发送

在服务器端,您必须实施检查:如果带有 ID 的查询已处理/正在处理/新

于 2013-10-19T06:51:28.917 回答
3

GUID:全局唯一标识符。

它是自动创建的。GUID 通常存储为 128 位值,通常显示为 32 位十六进制数字,组以连字符分隔,例如{21EC2020-3AEA-1069-A2DD-08002B30309D} 从随机数生成的 GUID 有时包含 6 个固定位,表示它们是随机的和 122 个随机位;此类唯一 GUID 的总数为 2122 或 5.3×1036。

这个数字如此之大,以至于同一数字随机生成两次的概率可以忽略不计;然而,其他 GUID 版本具有不同的唯一性属性和概率,范围从保证唯一性到可能的非唯一性。为简单起见假设统一概率,如果地球上每个人都拥有 6 亿个 GUID,那么重复的概率约为 50%。

于 2013-10-22T12:19:28.110 回答