only for certain computers my code of async_read look like
this
connection->socket->async_read_some(
boost::asio::buffer(data, size),
boost::bind(&Self::OnRead, this,
boost::asio::placeholders::error, connection,
boost::asio::placeholders::bytes_transferred )
);
well, the error 121 is a generic one and could be caused by pretty much
anything.
A good start would be to figure what is different about the connections
that cause problems, look into event logs on both the server and client
computers in case there are any relevant messages etc.
The other things to check would be firewalls, VPNs, etc
Also since vista windows tcp stack implements receive window auto-tuning,
you might try to turn it off to see if it makes any difference.
I would not treat the error 121 differently to any other error, i.e the
server should probably drop the connection instead of issuing a second
async_read()
One of our customers had a problem with the error 121 awhile back, their
setup was being mostly VMs and software NICs. We told them to reinstall
the software, apply the latest service packs etc, and the problem
apparently went away. So it was kind of inconclusive.