I'm using the non-Boost version of Asio and have made a TCP server based on the code at http://think-async.com/Asio/asio-1.11.0/doc/asio/tutorial/tutdaytime3.html
I can establish a connection to the server just fine, but only the first time. If I disconnect my client and then attempt to connect again, Asio passes an "Already Open" error to my accept handler. As you can see from the code, before a connection is accepted, a new instance of the tcp_connection class is created. I'm not sure why I'm getting this error, even though it's a completely separate instance whose socket shouldn't already be open. Any help would be greatly appreciated.
Thanks in advance.
EDIT:
Here's the server class: http://pastebin.com/yvZmFQvA
And the client class (equivalent to the tcp_connection class in the example): http://pastebin.com/LDhr2nZz