代码之家  ›  专栏  ›  技术社区  ›  Paul Farry

TCP星型网络对等连接策略

  •  1
  • Paul Farry  · 技术社区  · 14 年前

    我编写的网络应用程序与参与系统的机器列表(N)中的N-1(自身)其他机器进行TCP通信。

    如果机器1尝试连接到机器2,则在机器2尝试连接到机器1的同时。目前,我只是放弃这两个连接,重新选择随机时间(100-500毫秒),并重新尝试连接。

    每台机器最终都会与其他机器建立连接,系统也在工作,但我在想,有没有更好的方法来解决这种情况?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Steven Sudit    14 年前

    你有很多选择。

    打破联系的通常方法是使用IP。换句话说,如果A连接到B就像B连接到A一样,那么IP较低的一个可以取消其客户端。

    一般来说,最好避免让每台机器与另一台机器对话,因为连接的数量增长得惊人。一个好的折衷办法是使用树结构。例如,二叉树意味着每台机器只负责连接到另外两台机器,并且只由一台机器连接。其他拓扑给出了效率和冗余的不同平衡,因此请查看有关该主题的相关文献。

    推荐文章