0

我想制作一个有 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 客户端来形成一个网格吗?

4

1 回答 1

2

正如这个问题的评论部分已经暗示的那样,没有标准术语作为 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 可以发送连接请求。

于 2017-12-11T15:32:27.253 回答