TCP网状网络是如何形成的

How is a TCP mesh network formed

我想制作一个有 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客户端才能形成一个网状网络?

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

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

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

In order for B to connect to A, A will have a TCP server listening on port 8080.

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

B has a TCP client which will connect to A on 8080.

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

Now how does A make a connection to C. If C is listening for connections on 8080.

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