我有一台服务器和客户端 A 和 B。客户端 A 和 B 完全相同。目前,客户端 A 通过持久的长寿命 TCP 连接连接到服务器。目前,如果我想在客户端 A 中进行维护重启,我必须将其关闭并从客户端 B 建立新连接,然后在客户端 A 中进行维护。最后,一旦客户端 A 准备就绪,我断开客户端 B 的连接并从客户端 A 连接服务器。如果我想在不断开服务器的情况下进行主动-主动设置,如何实现?
请注意,这不是一个可以接受多个并发连接的服务器。这是一个为特殊目的编写的自定义服务器。它一次只能接受一个连接,我试图让多个客户端同时向服务器发送数据,而不会断开与服务器的连接。
我正在考虑在中间放置一个类似“jumpbox”的东西,其中“jumpbox”通过长寿命 TCP 连接连接到服务器。客户端 A 和 B 应该能够同时连接到“jumpbox”,并且两者都应该能够通过“jumpbox”将数据发送到服务器。在整个过程中,服务器和“jumpbox”之间的连接不应断开。这可能吗?
编辑:假设我在服务器中运行 nc -l 35000。我应该能够从客户端 A 和客户端 B 连接到服务器,这样 nc 35000。如果我在客户端 A 或客户端 B 上输入某些内容,它应该被发送到服务器
答案1
所有这些都基于服务器运行 Linux 的假设。我会使用中间盒与服务器建立连接,以便它“保持”连接。客户端 A 或 B 将通过 SSH 进入中间盒或“跳转盒”,并连接到屏幕控制台,其中有打开的会话。