我想制作一个有 3 个节点的网状网络,如下所示:
B connected to A.
B connected to C.
A connected to C.
这是我的理解:
为了让 B 连接到 A,A 将有一个 TCP 服务器侦听端口 8080。
B 有一个 TCP 客户端,它将在 8080 上连接到 A。
- 现在 A 如何与 C 建立连接?如果 C 正在侦听 8080 上的连接。
每个节点都应该运行一个 TCP 服务器和多个 TCP 客户端来形成一个网格吗?
我想制作一个有 3 个节点的网状网络,如下所示:
B connected to A.
B connected to C.
A connected to C.
这是我的理解:
为了让 B 连接到 A,A 将有一个 TCP 服务器侦听端口 8080。
B 有一个 TCP 客户端,它将在 8080 上连接到 A。
每个节点都应该运行一个 TCP 服务器和多个 TCP 客户端来形成一个网格吗?
正如这个问题的评论部分已经暗示的那样,没有标准术语作为 TCP 服务器和 TCP 客户端。出于可靠性的目的,我们通常选择 TCP 协议作为通信协议。
TCP和UDP的主要区别在于前者是面向连接的通信协议,而后者不是面向连接的。
为了让 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 可以发送连接请求。