示例#1
0
void Server::accept()
{
    Session::ptr newSession = Session::create(m_acceptor.get_io_service(), this->m_cfg);
    boost::shared_ptr<protocol::Demuxer> demuxer(new protocol::Demuxer(newSession));
    newSession->setDemuxer(demuxer);

    m_acceptor.async_accept(newSession->socket(),
                            boost::bind(&Server::acceptHandler, this, newSession,
                                        boost::asio::placeholders::error));
}
示例#2
0
void Server::accept()
{
	for (;;)
	{
		Session::ptr newSession = Session::create(m_acceptor.get_io_service(), this->m_cfg);
		boost::shared_ptr<protocol::Demuxer> demuxer(new protocol::Demuxer(newSession));
		newSession->setDemuxer(demuxer);

    m_acceptor.accept(newSession->socket());
		boost::thread t(boost::bind(&Session::start, newSession));
	}
}