Ideally, the client-server communications would use a listen-select model, where the clients are given an ephemeral port after the initial connect to the advertised port. That is, clients should not be using a fixed port, and servers should do all actual communication with clients over a negotiated port that is not the listen port.
Then you can script as many clients as your memory allows.
If you can't change the client code, then you you might be able to find or write a multiplexer shim service that brokers the connects between clients and server, handling all the fixed port stuff. I have no idea if such a thing exists, but it would be a neat tool.
Really, though. Clients should not use a fixed port. Very firewall unfriendly, among other problems.