2012-11-30 66 views
1

用戶在客戶端創建一個folder,在客戶端代碼中,我向服務器發出一個API,以使該用戶持久化。但在某些情況下,我的服務器非常忙,請求超時。服務器已經執行了我的請求,但在將響應發送回客戶端之前已超時。客戶端設置的超時時間爲10秒。此時客戶端認爲服務器尚未執行(創建文件夾)請求並最終再次發送。現在我在服務器上有2個文件夾,但用戶在客戶端只創建了1個文件夾。如何防止這一點?客戶端 - 服務器連接響應超時問題

解決此問題的方法之一是在每個新請求中使用唯一的ID。因此,身份證充當客戶新舊要求的區別。但是這會導致將這些ID存儲在我的服務器上,並對每個我想避免的API調用進行查找。

其他方法是增加超時時間。但我不想從10秒改變這一點。

東西告訴我,有更好的解決方案。

回答

0

使用某種序列編號,以便當您重新發送請求時,它具有與原始請求相同的序列號。然後服務器可以輕鬆地丟棄重複的請求。

你也應該看看爲什麼服務器響應如此之慢。十秒鐘是計算機的時間。

+0

我在想整個請求的某種散列,包括'GET' params。這種方式如果哈希變化我知道它的一個不同的請求。但是,這種序列編號的整個方法需要我在服務器中維護這些哈希值併爲每個API調用進行查找。我真的想避免這一點。我能做些什麼更好的事情? –

相關問題