客户端 - 服务器连接响应超时问题

时间:2012-11-30 02:55:03

标签: language-agnostic timeout client-server

用户在客户端创建folder,在客户端代码中,我点击服务器的API,使该用户持久化。但在某些情况下,我的服务器很忙,请求超时。服务器已经执行了我的请求,但是在将响应发送回客户端之前已超时。客户端的超时设置为10秒。此时客户端认为服务器尚未执行其请求(创建文件夹)并最终再次发送它。现在我在服务器上有2个文件夹,但用户在客户端中只创建了1个文件夹。如何防止这种情况?

解决此问题的方法之一是在每个新请求中使用唯一ID。因此,ID充当来自客户端的旧请求和新请求之间的区分。但是这会导致在我的服务器上存储这些ID,并查找我想避免的每个API调用。

其他方法是增加超时持续时间。但我不想在10秒内改变它。

有些东西告诉我有更好的解决方案。

1 个答案:

答案 0 :(得分:0)

使用某种序列编号,这样当您重新发送请求时,它具有与原始请求相同的序列号。然后,服务器可以轻松地丢弃重复的请求。

此外,您应该查看为什么服务器响应速度如此之慢。十秒钟是计算机的时间。