示例#1
0
void tcp_data_handler::update_status(int status,int error_type,int error_no)
{
    int old_status = m_connect_status ;
    m_connect_status = status ;
    if(old_status != STATUS_CONNECTED && status == STATUS_CONNECTED )
    {
        on_connected() ;
        return ;
    }
    else if( old_status != STATUS_CLOSED && status == STATUS_CLOSED )
    {
        on_closed(error_type,error_no) ;
        return ;
    }
    

}
示例#2
0
文件: net_io.cpp 项目: Abioy/rDSN
        void net_io::close()
        {
            try {
                _socket.shutdown(boost::asio::socket_base::shutdown_type::shutdown_both);
            }
            catch (std::exception& ex)
            {
                ex;
                /*dwarn("network session %s:%d exits failed, err = %s",
                    _remote_addr.to_ip_string().c_str(),
                    static_cast<int>_remote_addr.port,
                    ex.what()
                    );*/
            }

            _socket.close();
            on_closed();
        }