I have a class that performs a timed connect (i.e. using an async connect that returns an error if connection failed/timed-out).
However every asio::read/write performed on the socket after a successful async_connect fails.

Any ideas? Is it impossible to perform read/write on such a socket? do I have to stop() the io service to put it back into synchronous mode?