分布式网络由相同的应用程序组

时间:2011-11-24 13:00:14

标签: tcp

我带着相当哲学的问题来到这里:

假设我们有两个相同的应用程序,具有相似的设置范围。 我们希望这些应用程序可以通过套接字进行通信。

据我所知,在点对点应用程序中,其中一个应该是活动的(客户端)和passiv(服务器),即客户端执行“连接”,服务器应处于“接受”状态。这导致我们必须在运行之前知道谁是活跃的,谁不是。

正如我之前提到的,我想让这个应用程序完全相同。让两个相同的应用程序可以连接扔网,做出某种明智的决定谁是谁。

这个问题被认为是因为我希望每个新应用程序都可以连接到其他应用程序的网络,只需知道其中一个应用程序的IP地址。

免责声明:这不是恶意软件。它是ERP系统的传输层。

我会很高兴任何想法,链接等。

1 个答案:

答案 0 :(得分:2)

选项:

  • 指定一个应用程序始终是服务器。它开始在某个端口上侦听,而另一个应用程序在启动时会尝试重复连接到服务器,直到它成功。
  • 同时充当服务器和客户端。一台主机上的应用程序启动并尝试连接到另一台主机,如果不能,则启动服务器侦听来自其他主机的连接。另一台主机上的应用程序也是如此。应该加入重试以避免竞争条件。
  • 让他们各自充当客户端并连接到第三台服务器。然后他们通过该服务器进行通信,或者该服务器告诉他们如何相互通信(服务器可能会告诉一个应用程序是服务器,并告诉另一个应用程序是客户端)。