C++ and Windows Socket
I have a one to one Server Client app where the Server sends approximately 20,000 signals and the Client Independently sends 2000 different signals the other way. I am using asynchronous communication with one shared Port address. If I start sending the Client signals to the Server then the Server updates its copy of the signals correctly, but any signals it sends to the Client are slow at updating the Client copy of the sent signals. If I start sending the Server signals to the Client then the Client updates its copy of the signals correctly, but any signals it sends to the Server are not tracked efficiently.
It would be ideal for the Client to send its data on a different Port to that which it is recieving data. However, I dont know if that is possible. I might be able to set the Client up as a Server itself to just send data on a different Port to the true Server. The answer may lie in multi-threading, however the Client machine has multithreading disabled! I have read a few bits on completion ports but that may rely on multi-threading as well.
Is there an easy way of setting up efficient asynchronous data flows (dual port options would seem best if I only need to add another Port address to my current code), or will my other solutions be required, or possible?