Beispiel #1
0
void TFtp::Session::HandlerWrite(const sys::error_code &e,
                                 size_t                 bytes) {
  if (e) {
    std::cerr << e.message() << std::endl;
  }
  AsyncAccept();
}
 void TcpServer::Start()
 {
     _acceptor = std::make_unique<boost::asio::ip::tcp::acceptor>(
                                                                  *_ioService,
                                                                  boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), _port));
     AsyncAccept();
 }
Beispiel #3
0
TCPPort::TCPPort(boost::asio::io_service &io_service,
                 unsigned port,
                 PortListener *_listener, DataHandler &_handler)
  :BufferedPort(_listener, _handler),
   acceptor(io_service,
            boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port)),
   connection(io_service)
{
  acceptor.listen(1);

  AsyncAccept();
}
 void TcpServer::AcceptHandler(std::shared_ptr<TcpPeerConnection> acceptedConn, const boost::system::error_code& ec)
 {
     if (ec != 0)
     {
         LOG() << "Accept error: " << ec << std::endl;
         // Review: call an error callback.
     }
     else {
         OnAccept(acceptedConn);
     }
     
     // Kick off another async accept to handle another connection.
     AsyncAccept();
 }
Beispiel #5
0
void
TCPPort::OnRead(const boost::system::error_code &ec, size_t nbytes)
{
  if (ec == boost::asio::error::operation_aborted)
    /* this object has already been deleted; bail out quickly without
       touching anything */
    return;

  if (ec) {
    connection.close();
    AsyncAccept();
    StateChanged();
    Error(ec.message().c_str());
    return;
  }

  DataReceived(input, nbytes);

  AsyncRead();
}
Beispiel #6
0
	bool AcceptSocket::AsyncAccept(AcceptIOServerData *data, IOSocket *listenSocket)
	{
		return AsyncAccept(data, listenSocket, nullptr);
	}