【问题标题】:How is a TCP mesh network formedTCP网状网络是如何形成的
【发布时间】:2018-05-22 12:40:33
【问题描述】:

我想制作一个有 3 个节点的网状网络,如下所示:

B connected to A. 
B connected to C.
A connected to C. 

这是我的理解:

  1. 为了让 B 连接到 A,A 将有一个 TCP 服务器监听 8080 端口。

  2. B 有一个 TCP 客户端,它将在 8080 上连接到 A。

  3. 现在 A 如何与 C 建立连接?如果 C 正在侦听 8080 上的连接。

每个节点是否应该同时运行一个 TCP 服务器和多个 TCP 客户端来形成一个网格?

【问题讨论】:

  • A 和 C 都需要监听套接字。 B 没有。
  • TCP 没有客户端或服务器。 TCP 在两个对等点之间创建连接。客户端/服务器概念是一个应用程序概念。

标签: node.js networking tcp network-programming mesh-network


【解决方案1】:

正如本问题的评论部分已经暗示的那样,没有标准术语作为 TCP 服务器和 TCP 客户端。出于可靠性的考虑,我们通常选择 TCP 协议作为通信协议。

TCP和UDP的主要区别在于前者是面向连接的通信协议,而后者不是面向连接的。

注意:我将在没有 `node.js` 的背景下回答这个问题。

为了让 B 连接到 A,A 将有一个 TCP 服务器监听 端口 8080。

如果使用面向连接的协议,A 需要运行一个套接字应用程序,该应用程序充当服务器,在端口 8080 上接受连接请求。B 将向服务器 A 发送连接请求。

B 有一个 TCP 客户端,它将在 8080 上连接到 A。

同样,B 需要有一个套接字应用程序(客户端),它会在服务器 A 的端口(即本例中的 8080)上向 A 发送通信请求。

现在 A 如何与 C 建立连接。如果 C 正在侦听 8080 上的连接。

同样,考虑到面向连接的协议,A 可以明确地充当单独的客户端(使用相同/不同的应用程序),它将向 C 发送连接请求。为此,C 需要再次运行套接字服务器应用程序监听 8080 端口,以便 A 可以发送连接请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2020-10-07
    • 2020-12-28
    • 1970-01-01
    相关资源
    最近更新 更多