您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BASIC_LOG函数代码示例

51自学网 2021-06-01 19:48:56
  C++
这篇教程C++ BASIC_LOG函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中BASIC_LOG函数的典型用法代码示例。如果您正苦于以下问题:C++ BASIC_LOG函数的具体用法?C++ BASIC_LOG怎么用?C++ BASIC_LOG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了BASIC_LOG函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DEBUG_LOG

/// Logon Challenge command handlerbool AuthSocket::_HandleLogonChallenge(){    DEBUG_LOG("Entering _HandleLogonChallenge");    if (recv_len() < sizeof(sAuthLogonChallenge_C))        return false;    ///- Read the first 4 bytes (header) to get the length of the remaining of the packet    std::vector<uint8> buf;    buf.resize(4);    recv((char*)&buf[0], 4);    EndianConvert(*((uint16*)(buf[0])));    uint16 remaining = ((sAuthLogonChallenge_C*)&buf[0])->size;    DEBUG_LOG("[AuthChallenge] got header, body is %#04x bytes", remaining);    if ((remaining < sizeof(sAuthLogonChallenge_C) - buf.size()) || (recv_len() < remaining))        return false;    // No big fear of memory outage (size is int16, i.e. < 65536)    buf.resize(remaining + buf.size() + 1);    buf[buf.size() - 1] = 0;    sAuthLogonChallenge_C* ch = (sAuthLogonChallenge_C*)&buf[0];    ///- Read the remaining of the packet    recv((char*)&buf[4], remaining);    DEBUG_LOG("[AuthChallenge] got full packet, %#04x bytes", ch->size);    DEBUG_LOG("[AuthChallenge] name(%d): '%s'", ch->I_len, ch->I);    // BigEndian code, nop in little endian case    // size already converted    EndianConvert(*((uint32*)(&ch->gamename[0])));    EndianConvert(ch->build);    EndianConvert(*((uint32*)(&ch->platform[0])));    EndianConvert(*((uint32*)(&ch->os[0])));    EndianConvert(*((uint32*)(&ch->country[0])));    EndianConvert(ch->timezone_bias);    EndianConvert(ch->ip);    ByteBuffer pkt;    _login = (const char*)ch->I;    _build = ch->build;    ///- Normalize account name    // utf8ToUpperOnlyLatin(_login); -- client already send account in expected form    // Escape the user login to avoid further SQL injection    // Memory will be freed on AuthSocket object destruction    _safelogin = _login;    LoginDatabase.escape_string(_safelogin);    pkt << (uint8) CMD_AUTH_LOGON_CHALLENGE;    pkt << (uint8) 0x00;    ///- Verify that this IP is not in the ip_banned table    // No SQL injection possible (paste the IP address as passed by the socket)    std::string address = get_remote_address();    LoginDatabase.escape_string(address);    QueryResult* result = LoginDatabase.PQuery("SELECT unbandate FROM ip_banned WHERE "                          //    permanent                    still banned                          "(unbandate = bandate OR unbandate > UNIX_TIMESTAMP()) AND ip = '%s'", address.c_str());    if (result)    {        pkt << (uint8)WOW_FAIL_BANNED;        BASIC_LOG("[AuthChallenge] Banned ip %s tries to login!", get_remote_address().c_str());        delete result;    }    else    {        ///- Get the account details from the account table        // No SQL injection (escaped user name)        result = LoginDatabase.PQuery("SELECT sha_pass_hash,id,locked,last_ip,gmlevel,v,s FROM account WHERE username = '%s'", _safelogin.c_str());        if (result)        {            ///- If the IP is 'locked', check that the player comes indeed from the correct IP address            bool locked = false;            if ((*result)[2].GetUInt8() == 1)               // if ip is locked            {                DEBUG_LOG("[AuthChallenge] Account '%s' is locked to IP - '%s'", _login.c_str(), (*result)[3].GetString());                DEBUG_LOG("[AuthChallenge] Player address is '%s'", get_remote_address().c_str());                if (strcmp((*result)[3].GetString(), get_remote_address().c_str()))                {                    DEBUG_LOG("[AuthChallenge] Account IP differs");                    pkt << (uint8) WOW_FAIL_SUSPENDED;                    locked = true;                }                else                {                    DEBUG_LOG("[AuthChallenge] Account IP matches");                }            }            else            {                DEBUG_LOG("[AuthChallenge] Account '%s' is not locked to ip", _login.c_str());            }            if (!locked)//.........这里部分代码省略.........
开发者ID:Calixa,项目名称:mop,代码行数:101,


示例2: DEBUG_LOG

/// Logon Challenge command handlerbool AuthSocket::_HandleLogonChallenge(){    DEBUG_LOG("Entering _HandleLogonChallenge");    if (recv_len() < sizeof(sAuthLogonChallenge_C))        return false;    ///- Read the first 4 bytes (header) to get the length of the remaining of the packet    std::vector<uint8> buf;    buf.resize(4);    recv((char *)&buf[0], 4);    EndianConvert(*((uint16*)(buf[0])));    uint16 remaining = ((sAuthLogonChallenge_C *)&buf[0])->size;    DEBUG_LOG("[AuthChallenge] got header, body is %#04x bytes", remaining);    if ((remaining < sizeof(sAuthLogonChallenge_C) - buf.size()) || (recv_len() < remaining))        return false;    //No big fear of memory outage (size is int16, i.e. < 65536)    buf.resize(remaining + buf.size() + 1);    buf[buf.size() - 1] = 0;    sAuthLogonChallenge_C *ch = (sAuthLogonChallenge_C*)&buf[0];    ///- Read the remaining of the packet    recv((char *)&buf[4], remaining);    DEBUG_LOG("[AuthChallenge] got full packet, %#04x bytes", ch->size);    DEBUG_LOG("[AuthChallenge] name(%d): '%s'", ch->I_len, ch->I);    // BigEndian code, nop in little endian case    // size already converted    EndianConvert(*((uint32*)(&ch->gamename[0])));    EndianConvert(ch->build);    EndianConvert(*((uint32*)(&ch->platform[0])));    EndianConvert(*((uint32*)(&ch->os[0])));    EndianConvert(*((uint32*)(&ch->country[0])));    EndianConvert(ch->timezone_bias);    EndianConvert(ch->ip);    ByteBuffer pkt;    _login = (const char*)ch->I;    _build = ch->build;    _os = (const char*)ch->os;    if(_os.size() > 4)        return false;    ///- Normalize account name    //utf8ToUpperOnlyLatin(_login); -- client already send account in expected form    //Escape the user login to avoid further SQL injection    //Memory will be freed on AuthSocket object destruction    _safelogin = _login;    LoginDatabase.escape_string(_safelogin);    // Starting CMD_AUTH_LOGON_CHALLENGE    AuthResult result = WOW_FAIL_UNKNOWN0;    ///- Verify that this IP is not in the ip_banned table    // No SQL injection possible (paste the IP address as passed by the socket)    std::string address = get_remote_address();    LoginDatabase.escape_string(address);    QueryResult* qresult = LoginDatabase.PQuery("SELECT unbandate FROM ip_banned WHERE "    //    permanent                    still banned        "(unbandate = bandate OR unbandate > UNIX_TIMESTAMP()) AND ip = '%s'", address.c_str());    if (qresult)    {        result = WOW_FAIL_BANNED;        BASIC_LOG("[AuthChallenge] Banned ip %s tries to login!", get_remote_address().c_str());        delete qresult;    }    else    {        ///- Get the account details from the account table        // No SQL injection (escaped user name)        qresult = LoginDatabase.PQuery("SELECT sha_pass_hash,id,locked,last_ip,gmlevel,v,s FROM account WHERE username = '%s'",_safelogin.c_str());        if (qresult)        {            ///- If the IP is 'locked', check that the player comes indeed from the correct IP address            bool locked = false;            if ((*qresult)[2].GetUInt8() == 1)                // if ip is locked            {                DEBUG_LOG("[AuthChallenge] Account '%s' is locked to IP - '%s'", _login.c_str(), (*qresult)[3].GetString());                DEBUG_LOG("[AuthChallenge] Player address is '%s'", get_remote_address().c_str());                if ( strcmp((*qresult)[3].GetString(),get_remote_address().c_str()) )                {                    DEBUG_LOG("[AuthChallenge] Account IP differs");                    result = WOW_FAIL_SUSPENDED;                    locked = true;                }                else                {                    DEBUG_LOG("[AuthChallenge] Account IP matches");                }            }//.........这里部分代码省略.........
开发者ID:SpanishWoW,项目名称:SpanishCore,代码行数:101,


示例3: BASIC_LOG

/// Accept the connection and set the s random value for SRP6void AuthSocket::OnAccept(){    BASIC_LOG("Accepting connection from '%s'", get_remote_address().c_str());}
开发者ID:Calixa,项目名称:mop,代码行数:5,


示例4: DEBUG_LOG

void WorldSession::HandleForceSpeedChangeAckOpcodes(WorldPacket &recv_data){    uint32 opcode = recv_data.GetOpcode();    DEBUG_LOG("WORLD: Recvd %s (%u, 0x%X) opcode", LookupOpcodeName(opcode), opcode, opcode);    /* extract packet */    ObjectGuid guid;    MovementInfo movementInfo;    float  newspeed;    recv_data >> guid.ReadAsPacked();    recv_data >> Unused<uint32>();                          // counter or moveEvent    recv_data >> movementInfo;    recv_data >> newspeed;    // now can skip not our packet    if(_player->GetObjectGuid() != guid)    {        recv_data.rpos(recv_data.wpos());                   // prevent warnings spam        return;    }    /*----------------*/    // client ACK send one packet for mounted/run case and need skip all except last from its    // in other cases anti-cheat check can be fail in false case    UnitMoveType move_type;    UnitMoveType force_move_type;    static char const* move_type_name[MAX_MOVE_TYPE] = {  "Walk", "Run", "RunBack", "Swim", "SwimBack", "TurnRate", "Flight", "FlightBack", "PitchRate" };    switch(opcode)    {        case CMSG_FORCE_WALK_SPEED_CHANGE_ACK:          move_type = MOVE_WALK;          force_move_type = MOVE_WALK;        break;        case CMSG_FORCE_RUN_SPEED_CHANGE_ACK:           move_type = MOVE_RUN;           force_move_type = MOVE_RUN;         break;        case CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK:      move_type = MOVE_RUN_BACK;      force_move_type = MOVE_RUN_BACK;    break;        case CMSG_FORCE_SWIM_SPEED_CHANGE_ACK:          move_type = MOVE_SWIM;          force_move_type = MOVE_SWIM;        break;        case CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK:     move_type = MOVE_SWIM_BACK;     force_move_type = MOVE_SWIM_BACK;   break;        case CMSG_FORCE_TURN_RATE_CHANGE_ACK:           move_type = MOVE_TURN_RATE;     force_move_type = MOVE_TURN_RATE;   break;        case CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK:        move_type = MOVE_FLIGHT;        force_move_type = MOVE_FLIGHT;      break;        case CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK:   move_type = MOVE_FLIGHT_BACK;   force_move_type = MOVE_FLIGHT_BACK; break;        case CMSG_FORCE_PITCH_RATE_CHANGE_ACK:          move_type = MOVE_PITCH_RATE;    force_move_type = MOVE_PITCH_RATE;  break;        default:            sLog.outError("WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode);            return;    }    // skip all forced speed changes except last and unexpected    // in run/mounted case used one ACK and it must be skipped.m_forced_speed_changes[MOVE_RUN} store both.    if(_player->m_forced_speed_changes[force_move_type] > 0)    {        --_player->m_forced_speed_changes[force_move_type];        if(_player->m_forced_speed_changes[force_move_type] > 0)            return;    }    if (!_player->GetTransport() && fabs(_player->GetSpeed(move_type) - newspeed) > 0.01f)    {        if(_player->GetSpeed(move_type) > newspeed)         // must be greater - just correct        {            sLog.outError("%sSpeedChange player %s is NOT correct (must be %f instead %f), force set to correct value",                move_type_name[move_type], _player->GetName(), _player->GetSpeed(move_type), newspeed);            _player->SetSpeedRate(move_type,_player->GetSpeedRate(move_type),true);        }        else                                                // must be lesser - cheating        {            BASIC_LOG("Player %s from account id %u kicked for incorrect speed (must be %f instead %f)",                _player->GetName(),_player->GetSession()->GetAccountId(),_player->GetSpeed(move_type), newspeed);            _player->GetSession()->KickPlayer();        }    }}
开发者ID:Archives,项目名称:OutdoorPVP,代码行数:70,


示例5: data

void WorldSession::HandleCharDeleteOpcode(WorldPacket& recv_data){    ObjectGuid guid;    recv_data >> guid;    // can't delete loaded character    if (sObjectMgr.GetPlayer(guid))        return;    uint32 accountId = 0;    std::string name;    // is guild leader    if (sGuildMgr.GetGuildByLeader(guid))    {        WorldPacket data(SMSG_CHAR_DELETE, 1);        data << (uint8)CHAR_DELETE_FAILED_GUILD_LEADER;        SendPacket(&data);        return;    }    // is arena team captain    if (sObjectMgr.GetArenaTeamByCaptain(guid))    {        WorldPacket data(SMSG_CHAR_DELETE, 1);        data << (uint8)CHAR_DELETE_FAILED_ARENA_CAPTAIN;        SendPacket(&data);        return;    }    uint32 lowguid = guid.GetCounter();    QueryResult* result = CharacterDatabase.PQuery("SELECT account,name FROM characters WHERE guid='%u'", lowguid);    if (result)    {        Field* fields = result->Fetch();        accountId = fields[0].GetUInt32();        name = fields[1].GetCppString();        delete result;    }    // prevent deleting other players' characters using cheating tools    if (accountId != GetAccountId())        return;    std::string IP_str = GetRemoteAddress();    BASIC_LOG("Account: %d (IP: %s) Delete Character:[%s] (guid: %u)", GetAccountId(), IP_str.c_str(), name.c_str(), lowguid);    sLog.outChar("Account: %d (IP: %s) Delete Character:[%s] (guid: %u)", GetAccountId(), IP_str.c_str(), name.c_str(), lowguid);    if (sLog.IsOutCharDump())                               // optimize GetPlayerDump call    {        std::string dump = PlayerDumpWriter().GetDump(lowguid);        sLog.outCharDump(dump.c_str(), GetAccountId(), lowguid, name.c_str());    }    Player::DeleteFromDB(guid, GetAccountId());    WorldPacket data(SMSG_CHAR_DELETE, 1);    data << (uint8)CHAR_DELETE_SUCCESS;    SendPacket(&data);}
开发者ID:mynew5,项目名称:portaltbc,代码行数:61,


示例6: DEBUG_LOG

//.........这里部分代码省略.........        return -1;    }    Field* fields = result->Fetch();    expansion = ((sWorld.getConfig(CONFIG_UINT32_EXPANSION) > fields[7].GetUInt8()) ? fields[7].GetUInt8() : sWorld.getConfig(CONFIG_UINT32_EXPANSION));    N.SetHexStr("894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7");    g.SetDword(7);    v.SetHexStr(fields[5].GetString());    s.SetHexStr(fields[6].GetString());    const char* sStr = s.AsHexStr();                        // Must be freed by OPENSSL_free()    const char* vStr = v.AsHexStr();                        // Must be freed by OPENSSL_free()    DEBUG_LOG("WorldSocket::HandleAuthSession: (s,v) check s: %s v: %s",              sStr,              vStr);    OPENSSL_free((void*) sStr);    OPENSSL_free((void*) vStr);    ///- Re-check ip locking (same check as in realmd).    if (fields[4].GetUInt8() == 1)  // if ip is locked    {        if (strcmp(fields[3].GetString(), GetRemoteAddress().c_str()))        {            packet.Initialize(SMSG_AUTH_RESPONSE, 1);            packet << uint8(AUTH_FAILED);            SendPacket(packet);            delete result;            BASIC_LOG("WorldSocket::HandleAuthSession: Sent Auth Response (Account IP differs).");            return -1;        }    }    id = fields[0].GetUInt32();    security = fields[1].GetUInt16();    if (security > SEC_ADMINISTRATOR)                       // prevent invalid security settings in DB        security = SEC_ADMINISTRATOR;    K.SetHexStr(fields[2].GetString());    time_t mutetime = time_t (fields[8].GetUInt64());    uint8 tempLoc = LocaleConstant(fields[9].GetUInt8());    if (tempLoc >= static_cast<uint8>(MAX_LOCALE))        locale = LOCALE_enUS;    else        locale = LocaleConstant(tempLoc);    delete result;    // Re-check account ban (same check as in realmd)    QueryResult* banresult =        LoginDatabase.PQuery("SELECT 1 FROM account_banned WHERE id = %u AND active = 1 AND (unbandate > UNIX_TIMESTAMP() OR unbandate = bandate)"                             "UNION "                             "SELECT 1 FROM ip_banned WHERE (unbandate = bandate OR unbandate > UNIX_TIMESTAMP()) AND ip = '%s'",                             id, GetRemoteAddress().c_str());    if (banresult) // if account banned    {        packet.Initialize(SMSG_AUTH_RESPONSE, 1);        packet << uint8(AUTH_BANNED);
开发者ID:Cio0,项目名称:mangos-tbc,代码行数:67,


示例7: DEBUG_LOG

int WorldSocket::HandleAuthSession(WorldPacket& recvPacket){    // NOTE: ATM the socket is singlethread, have this in mind ...    uint8 digest[20];    uint32 clientSeed;    uint32 serverId;    uint32 BuiltNumberClient;    uint32 id, security;    LocaleConstant locale;    std::string account, os;    BigNumber v, s, g, N, K;    WorldPacket packet, SendAddonPacked;    // Read the content of the packet    recvPacket >> BuiltNumberClient;    recvPacket >> serverId;    recvPacket >> account;    recvPacket >> clientSeed;    recvPacket.read(digest, 20);    DEBUG_LOG("WorldSocket::HandleAuthSession: client %u, serverId %u, account %s, clientseed %u",              BuiltNumberClient,              serverId,              account.c_str(),              clientSeed);    // Check the version of client trying to connect    if (!IsAcceptableClientBuild(BuiltNumberClient))    {        packet.Initialize(SMSG_AUTH_RESPONSE, 1);        packet << uint8(AUTH_VERSION_MISMATCH);        SendPacket(packet);        sLog.outError("WorldSocket::HandleAuthSession: Sent Auth Response (version mismatch).");        return -1;    }    // Get the account information from the realmd database    std::string safe_account = account; // Duplicate, else will screw the SHA hash verification below    LoginDatabase.escape_string(safe_account);    // No SQL injection, username escaped.                                 QueryResult *result = LoginDatabase.PQuery("SELECT a.id, aa.gmLevel, a.sessionkey, a.last_ip, a.locked, a.v, a.s, a.mutetime, a.locale, a.os, a.flags, "        "ab.unbandate > UNIX_TIMESTAMP() OR ab.unbandate = ab.bandate FROM account a LEFT JOIN account_access aa ON a.id = aa.id AND aa.RealmID IN (-1, %u) "        "LEFT JOIN account_banned ab ON a.id = ab.id AND ab.active = 1 WHERE a.username = '%s' ORDER BY aa.RealmID DESC LIMIT 1", realmID, safe_account.c_str());    // Stop if the account is not found    if (!result)    {        packet.Initialize(SMSG_AUTH_RESPONSE, 1);        packet << uint8(AUTH_UNKNOWN_ACCOUNT);        SendPacket(packet);        sLog.outError("WorldSocket::HandleAuthSession: Sent Auth Response (unknown account).");        return -1;    }    Field* fields = result->Fetch();    N.SetHexStr("894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7");    g.SetDword(7);    v.SetHexStr(fields[5].GetString());    s.SetHexStr(fields[6].GetString());    const char* sStr = s.AsHexStr();                        //Must be freed by OPENSSL_free()    const char* vStr = v.AsHexStr();                        //Must be freed by OPENSSL_free()    DEBUG_LOG("WorldSocket::HandleAuthSession: (s,v) check s: %s v: %s",              sStr,              vStr);    OPENSSL_free((void*) sStr);    OPENSSL_free((void*) vStr);    ///- Re-check ip locking (same check as in realmd).    if (fields[4].GetUInt8() == 1)  // if ip is locked    {        if (strcmp(fields[3].GetString(), GetRemoteAddress().c_str()))        {            packet.Initialize(SMSG_AUTH_RESPONSE, 1);            packet << uint8(AUTH_FAILED);            SendPacket(packet);            delete result;            BASIC_LOG("WorldSocket::HandleAuthSession: Sent Auth Response (Account IP differs).");            return -1;        }    }    id = fields[0].GetUInt32();    security = sAccountMgr.GetSecurity(id); //fields[1].GetUInt16 ();    if (security > SEC_ADMINISTRATOR)                       // prevent invalid security settings in DB        security = SEC_ADMINISTRATOR;    K.SetHexStr(fields[2].GetString());//.........这里部分代码省略.........
开发者ID:Maduse,项目名称:server,代码行数:101,



注:本文中的BASIC_LOG函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ BASS_ChannelPlay函数代码示例
C++ BANK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。