Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::Asio async_accept not throwing exception
From: Lloyd Kanakkassery (lloydkl.tech_at_[hidden])
Date: 2010-11-21 23:30:54


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 <boost.lists_at_[hidden]> wrote:
>> Acceptor.async_accept(NewConnection->socket(),boost::bind(&TCPServer::HandleAccept,this,
>> NewConnection,boost::asio::placeholders::error));
>>     }
>>     catch(std::exception& e)
>>     {
>>        cout<<"exception"<<endl;
>>     }
>> }
>>
>> 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_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net