TLDR:TCPサーバに自動的に再接続するための再利用可能なコードが存在することがあります。TCPホストに自動的に再接続する
私は、サーバーアプリケーションを書いている - hal
それを呼び出す - その中でxbmc
- また、他のサーバーにいくつかのTCP接続をオープンしています。私はもともと、xbmc
が失敗したときにxbmc
erlangプロセスが停止し、そのスーパーバイザによって再起動されるように書きました。
明らかに、これはerlangで永続的なTCP接続を行う良い方法ではありません。まず第一に、実際には機能しません。xbmc
が失敗した場合、プロセスは速やかに再起動し、スーパーバイザはhal
プログラム全体をシャットダウンします。第二に、私は明らかにこれのために上司を使用することになっていません:Erlang Supervisor Strategy For Restarting Connections to Downed Hosts(私はそれを読んで、このリンクされた質問は "監督はこれを解決するのですか?"と答えるだけで、私の質問と重複しません)
私はこれは合理的に一般的なユースケースのように思えます.TCP接続をできるだけ接続された状態に保ちます。これを達成するために使用するOTPや他のライブラリコードがありますか?
ありがとうございました。次のオープンソースプロジェクトでは、この接続マネージャーを提案しています:D –
これが起こると、私は今それを書いています。もしリリースされたら、私の答えを更新します。 – archaelus