我使用HTTP post将数据发送到服务器,并成功将其解雇到服务器。现在在发送数据和等待服务器响应之间,突然由于网络问题我的android设备失去了互联网连接。 在设备m能够显示连接丢失的警报对话框,但在服务器端数据已经处理,它已在数据库即MySQL服务器更新但我的Android设备不知道这个bcoz直到它没有从服务器得到任何响应。如何解决它。
是否可以在服务器端或Android应用程序中完成以及如何完成?
服务器如何知道Android手机直到现在还没有得到响应?
任何想法..等待答案???
答案 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%。