I have a server and clients A and B. Clients A & B are identical. As of now, client A connects to the server over a persistent long living TCP connection. Currently if I want to do maintenance restart in client A, I have to shut it down and make a new connection from client B and then do the maintenance in client A. Finally once client A is ready, I disconnect client B and connect the server from client A. If I want active-active setup without any disconnection to the server, how to achieve this?
Please note that this is not a server which can accept multiple concurrent connections. This is a custom server written for a special purpose. It can accept a single connection at a time and I am trying to have multiple clients which can send data to the server simultaneously without dropping the connection with the server.
I am thinking of something like a 'jumpbox' in the middle where 'jumpbox' connects to the server over a long living TCP connection. Clients A & B should be able to connect to 'jumpbox' simultaneously and both should be able to send data to the server via 'jumpbox'. In the whole time, the connection between the server and 'jumpbox' shouldn't be disconnected. Is this possible?
Edit: lets say I am running nc -l 35000 in the Server. I should be able to connect to the server from both Client A & Client B such that nc 35000. If I type something either on Client A or Client B, it should be sent to the server