我正在處理UDP服務器/客戶端配置。客戶端向服務器發送單個數據包,該數據包的大小不同,但通常爲< 500個字節。服務器基本上立即用單個傳出數據包進行響應,通常小於傳入請求數據包。完成的交易總是由單個數據包交換組成。什麼是良好的UDP超時和重試值?
如果客戶端沒有看到內的時間T數量的響應時,它重試R乘,每次重試之前通過X增加T,最後才放棄並返回一個錯誤。目前,R從未改變。
是否有任何特殊的邏輯來選擇最佳初始T(等待時間),R(重試)和X(等待增加)?應該如何執行重試(即,使用什麼樣的最小R)才能達到「可靠」協議的一些近似值?
這是爲局域網應用程序或通過互聯網工作,使用各種未知速度的連接? – DaveRandom
@DaveRandom:後者:通過互聯網(但在美國任何地方的所有客戶),連接類型/速度不可預測。 –
如果你想要一些可靠的東西,爲什麼不使用TCP。它是爲此而構建的;) –