Yes, error checking is also performed in the accept handler
(HandleAccept function). The code never reaches the async_accept
handler. Normally, when trying to listen on a port the asyn_accept
handler must be called with the error set if some error occurs. But
this is not happening! I am running the same version of the program as
a service in the first phase, then trying to debug a command line
version of the same program from Visual Studio.
What could be the reason?
Thanks,
Lloyd
On 11/22/10, Igor R
Acceptor.async_accept(NewConnection->socket(),boost::bind(&TCPServer::HandleAccept,this, NewConnection,boost::asio::placeholders::error)); } catch(std::exception& e) { cout<<"exception"<
Another program is already listening on the port "13" (A service version of the same program). When this new program tries to listen (async_accept) on port "13", no exception is thrown!.
How can I check weather the port is already open?
async_XXX functions do not throw, they guarantee that the completion handler will always be invoked. So what you should check is the error_code in your completion handler. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users