TLDR:是否存在可自动重新连接到有时会失败的TCP服务器的可重用代码?自动重新连接到TCP主机
我正在写一个服务器应用程序 - 称之为hal
- 这也开辟了一些TCP连接到其他服务器 - 其中xbmc
。我原本是这样写的,所以当xbmc
失败时,xbmc
erlang进程将停止,并随后由其主管重新启动。
显然,这不是在erlang中执行持久性TCP连接的好方法。首先,它并不是真正的工作:当xbmc
失败时,这个过程会很快重新启动,并且主管会关闭整个hal
程序。其次,我显然不应该使用这个主管:Erlang Supervisor Strategy For Restarting Connections to Downed Hosts(当我阅读它,这个链接的问题只回答“主管是否解决这个问题?”,并且不是我的问题的重复)
我是认为这听起来像是一个相当常见的用例,即使主机不时出现故障,也尽可能保持TCP连接的连接。是否有一些OTP或其他库代码我应该用来实现这一目标?
谢谢。回答“否”并不总是那么容易:)对于你的下一个开源项目,我建议你做这个连接管理器:D – 2012-07-19 09:37:41
碰巧,现在我或多或少都在写它。如果/当它被发布,我会更新我的答案。 – archaelus 2012-07-23 14:13:31