Hi,

I have an app that serves different clients and it is based on Boost.ASIO.
My current issue is that if the first client is fast enough (a continuous fast loop with Python module requests), then the other clients may time out with no good reason when trying to connect.

Is there a way of figuring out who is actually waiting on who? Maybe the clients are starved because of an issue on their box, or there is an issue in ASIO that serves always the first connection? Or is it Windows?
I tried multithreading the server, but that didn't help, and a run with VTune Amplifier shows me that the app is mainly waiting.
But if I add a 100ms sleep between requests, then everything is fine. But this is not an acceptable solution, as the clients in real life will want to launch requests all the time.

Regards,

Matthieu Brucher
--
Information System Engineer, Ph.D.
Blog: http://blog.audio-tk.com/
LinkedIn: http://www.linkedin.com/in/matthieubrucher