cgrequestiphandler.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 85 行
CPP
85 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGRequestIPHandler.cc// Written By : reiot@ewestsoft.com// Description ://////////////////////////////////////////////////////////////////////////////#include "CGRequestIP.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "Creature.h" #include "PCFinder.h" #include "DB.h" #include "Gpackets/GCRequestedIP.h" #include "Gpackets/GCRequestFailed.h"#endif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGRequestIPHandler::execute (CGRequestIP* pPacket , Player* pPlayer) throw (ProtocolException , Error){ __BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); try { // UserIPInfo 抛捞喉俊辑 荤侩磊 IP甫 孽府 茄促. Statement* pStmt = NULL; BEGIN_DB { pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement(); Result* pResult = pStmt->executeQuery("SELECT IP, Port FROM UserIPInfo WHERE Name='%s'", pPacket->getName().c_str()); if (pResult->getRowCount() == 0) { SAFE_DELETE(pStmt); throw NoSuchElementException("夸没茄 ID狼 IP沥焊啊 绝澜促."); } else { pResult->next(); IP_t IP = pResult->getDWORD(1); uint Port = pResult->getDWORD(2); //cout << "Requested IP : " << IP << endl; GCRequestedIP gcRequestedIP; gcRequestedIP.setIP(IP); gcRequestedIP.setPort(Port); gcRequestedIP.setName(pPacket->getName().c_str()); pPlayer->sendPacket(&gcRequestedIP); SAFE_DELETE(pStmt); } } END_DB(pStmt) } //catch (NoSuchElementException & nsee) catch (Throwable & t) { // no such牢 版快.. GCRequestFailed gcRequestFailed; gcRequestFailed.setCode(REQUEST_FAILED_IP); gcRequestFailed.setName(pPacket->getName()); pPlayer->sendPacket(&gcRequestFailed); } catch (...) { GCRequestFailed gcRequestFailed; gcRequestFailed.setCode(REQUEST_FAILED_IP); gcRequestFailed.setName(pPacket->getName()); pPlayer->sendPacket(&gcRequestFailed); }#endif __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?