Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS上的退避算法_Ios_Sockets - Fatal编程技术网

iOS上的退避算法

iOS上的退避算法,ios,sockets,Ios,Sockets,在iOS上为TCP套接字重新连接使用退避算法有什么好处吗?例如,5秒与30秒的最大延迟是否会对电池使用产生显著影响?在我看来,如果服务器暂时无法处理负载,那么退避算法主要用于避免服务器上的DOS。从客户端的角度来看,其好处似乎并不明显。退避算法(指数退避)还可以帮助客户端处理服务器上的任何持续拥塞。如果服务器在客户端等待T秒后忙,那么下一次,如果它在2T秒后尝试,则有更多机会到达服务器。以下是一个链接: 其次,对于TCP,服务器上挂起的连接队列也可能已满,在这种情况下,TCP服务器将隐式丢弃SY

在iOS上为TCP套接字重新连接使用退避算法有什么好处吗?例如,5秒与30秒的最大延迟是否会对电池使用产生显著影响?在我看来,如果服务器暂时无法处理负载,那么退避算法主要用于避免服务器上的DOS。从客户端的角度来看,其好处似乎并不明显。

退避算法(指数退避)还可以帮助客户端处理服务器上的任何持续拥塞。如果服务器在客户端等待T秒后忙,那么下一次,如果它在2T秒后尝试,则有更多机会到达服务器。以下是一个链接:

其次,对于TCP,服务器上挂起的连接队列也可能已满,在这种情况下,TCP服务器将隐式丢弃SYN数据包(在Linux/Unix中)。具有回退允许客户端有足够的时间,以便TCP服务器上的应用程序可以将这些挂起的连接(通过调用accept())排出队列,从而在队列中为执行回退的客户端创建空间