小智 6
这类似于问题5227520.谷歌搜索"tcp重试"和"tcp重新传输"导致了许多多年来一直在尝试的建议.不幸的是,没有单一的解决方
我选择T开始2或3秒.我的增加X将是T的一半(加倍T看起来很受欢迎,但你很快会得到很长的超时).如果需要的话,我会动态调整R至少为5,所以我的总超时至少是一两分钟.
如果后续交易通常更快,我会小心不要让R和T太高; 您可能希望降低R和T,因为您的统计数据允许,因此您可以重试并获得快速响应,而不是将R和T保持在最大值(特别是如果您的客户是人,并且您希望做出响应).
请记住:如果重试成功,那么你将永远不会像重试比你更多的算法一样可靠.另一方面,如果您的服务器始终可用并且始终"立即响应",那么如果客户端未能看到响应,则表示服务器无法控制,并且唯一可以做的是客户端重试(虽然重试不仅可以重新发送,例如关闭/重新打开连接,尝试使用不同IP的备份服务器等.