Автоматическое повторное подключение к узлу TCP

TLDR :Существует ли повторно используемый код для автоматического повторного подключения к TCP-серверу, который иногда дает сбой?


Я пишу серверное приложение --назовите егоhal--это также открывает некоторые TCP-соединения с другими серверами --среди них xbmc. Первоначально я написал его таким образом, чтобы при сбое xbmcпроцесс xbmcerlang останавливался и впоследствии перезапускался его супервизором.

Судя по всему, это не лучший способ создания постоянных TCP-соединений в erlang. Во-первых, на самом деле это не работает :. При сбое xbmcпроцессы перезапускаются слишком быстро, и супервизор закрывает всю halпрограмму. Во-вторых, я видимо не должен использовать супервайзер для этого:Стратегия Erlang Supervisor для перезапуска соединений с отключенными хостами(Когда я его прочитал, этот связанный вопрос отвечает только на вопрос «Решает ли это руководитель?» и не является дубликатом моего вопроса )

. Я думаю, что это звучит как достаточно распространенный вариант использования, поддерживающий максимально возможное соединение TCP даже с хостом, который время от времени отключается. Есть ли какой-то OTP или другой библиотечный код, который я должен использовать для достижения этой цели?

5
задан Community 23 May 2017 в 12:20
поделиться