假設我有一個客戶端計數器變量。當我發送一個請求到服務器時,我發送這個變量的值,然後遞增一(對下一個請求到服務器)。服務器獨立地跟蹤此計數器,並檢查以確保客戶端發送的計數比計數的自己(服務器端)副本多1。這一切都很好,但可以考慮以下情況:同步客戶端和服務器之間的變量
- 客戶端向服務器發送23。
- 服務器接收23,驗證它,並增加了自己的櫃檯23
- 服務器返回全好了代碼,客戶端
- 丁
沿着從方式服務器到客戶端,返回碼被損壞。因此,客戶端認爲服務器沒有更新其計數器,因此將客戶端計數器保留爲23.從此之後,客戶端和服務器不同步。
有沒有人知道任何可能的腐敗/錯誤工作的強大計劃?
感謝,
卡梅倫
是的,這是我的目標,但在我的具體情況下,數字的可預測性不會成爲問題。我確實想到了nonce的東西,但是方向完全不同;你的解決方案非常乾淨和快速。謝謝! – Cameron 2008-10-18 23:23:43