Exemple #1
0
Acceptor::Acceptor(const InetAddress& listenAddress, IOService& service, uint32_t threadNums)
    : _io_service(service),
    _acceptor(service.service()),
    _strand(service.service()),
    _listenAddr(listenAddress),
    _listenning(false),
    _threadNums(threadNums)
{
    std::cout << "Acceptor starting ..." << std::endl;
    std::cout << "  >> Listen Address = " << _listenAddr.toIpHost() << std::endl;
    std::cout << "  >> I/O-Thread Numbers = " << threadNums << std::endl;

    //绑定地址
    boost::asio::ip::address address;
    address.from_string(_listenAddr.host());
    tcp::endpoint endpoint(address, _listenAddr.port());
    _acceptor.open(tcp::v4());
    _acceptor.bind(endpoint);

    std::cout << "Acceptor started." << std::endl;
}
Exemple #2
0
Acceptor::Acceptor(const InetAddress& listenAddress, IOService& service, uint32_t threadNums)
    : _io_service(service),
    _acceptor(service.service()),
    _strand(service.service()),
    _listenAddr(listenAddress),
    _listenning(false),
    _threadNums(threadNums)
{
    debug_log("Acceptor starting ...");
    debug_log("  >> Listen Address = %s", _listenAddr.toIpHost().c_str());
    debug_log("  >> I/O-Thread Numbers = %d", threadNums);

    //绑定地址
    boost::asio::ip::address address;
    address.from_string(_listenAddr.host());
    tcp::endpoint endpoint(address, _listenAddr.port());
    _acceptor.open(tcp::v4());
    _acceptor.bind(endpoint);

    debug_log("Acceptor started.");
}
Exemple #3
0
TcpServer::TcpServer(const InetAddress& listenAddress, IOService& service, uint32_t threadNums)
    : _io_service(service),
      _acceptor(listenAddress, service, threadNums),
      _started(false),
      _signals(service.service())
{
    debug_log("Server starting ...");

    //Ìí¼Ó²¶×½ÐźÅ
    _signals.add(SIGINT);
    _signals.add(SIGTERM);

#if defined(SIGQUIT)
    _signals.add(SIGQUIT);
#endif
    _signals.async_wait(std::bind(&TcpServer::stop, this));

    _acceptor.registerAcceptedEvent(BIND_EVENT_HANDLER(&TcpServer::acceptedHandler, this));
}
Exemple #4
0
TcpServer::TcpServer(const InetAddress& listenAddress, IOService& service, uint32_t threadNums)
    : _io_service(service),
    _acceptor(listenAddress, service, threadNums),
    _started(false),
    _signals(service.service())
{
    std::cout << "Server starting ..." << std::endl;

    //添加捕捉信号
    _signals.add(SIGINT);
    _signals.add(SIGTERM);

#if defined(SIGQUIT)
    _signals.add(SIGQUIT);
#endif
    _signals.async_wait(std::bind(&TcpServer::stop, this));

    _acceptor.setAcceptedCallback(
        std::bind(&TcpServer::newConnectionCallback, this, std::placeholders::_1)
        );
}
Exemple #5
0
Socket::Socket(IOService& service)
    : _socket(service.service()),
    _strand(service.service()),
    _io_service(service)
{
}