reconnect: соблюдать паузу между попытками (backoff)
tryConnectOnce игнорировала результат runTcpLoop и всегда возвращала true, из-за чего reconnectLoop не делал паузу и переподключался заново каждые ~30 мс, заваливая сервер MSG_ERROR 'Access denied'. Теперь возвращаем !running, поэтому после разрыва/отказа выдерживается RECONNECT_DELAY_MS.
This commit is contained in:
@@ -264,7 +264,10 @@ class ReflectorClient(
|
||||
callbacks.onState(STATE_TCP_CONNECTED)
|
||||
startTcpSenderThread(socket, s)
|
||||
runTcpLoop(socket, s)
|
||||
true
|
||||
// runTcpLoop завершилась: если всё ещё должны работать — значит
|
||||
// соединение разорвано/отклонено, вернём false, чтобы reconnectLoop
|
||||
// выдержал RECONNECT_DELAY_MS и не бомбил сервер переподключениями.
|
||||
!running.get()
|
||||
} catch (e: Exception) {
|
||||
try {
|
||||
socket.close()
|
||||
|
||||
Reference in New Issue
Block a user