当Http Post成功完成并等待响应互联网连接丢失时该怎么办?

时间:2013-10-19 06:43:35

标签: android web-services rest android-asynctask

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

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

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

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

2 个答案:

答案 0 :(得分:3)

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

然后你将带有此id的请求发送到服务器,如果连接丢失 - 尝试使用相同的ID重新发送

在服务器端,您必须实现检查:如果处理了具有ID的查询/ inprocess / new

答案 1 :(得分:3)

GUID:全球唯一标识符。

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

这个数字太大,以至于随机产生两次相同数字的概率可以忽略不计; 但是,其他GUID版本具有不同的唯一性属性和概率,从保证唯一性到可能的非唯一性。假设统一概率简单,如果地球上的每个人拥有6亿GUID,则一次重复的概率约为50%。