cgportcheckhandler.cpp

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 92 行

CPP
92
字号
//----------------------------------------------------------------------//// Filename    : CGPortCheckHandler.cpp// Written By  : Reiot// Description :////----------------------------------------------------------------------// include files#include "CGPortCheck.h"#include "Properties.h"#include <stdio.h>#ifdef __GAME_SERVER__	#include "DB.h"#endif//----------------------------------------------------------------------// // CGPortCheckHander::execute()// // 霸烙 辑滚啊 肺弊牢 辑滚肺何磐 CGPortCheck 菩哦阑 罐霸 登搁,// ConnectionInfo甫 货肺 眠啊窍霸 等促.// //----------------------------------------------------------------------void CGPortCheckHandler::execute ( CGPortCheck * pPacket )	 throw ( ProtocolException , Error ){	__BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__	const string& host = pPacket->getHost();	DWORD IP = inet_addr(host.c_str());	uint port = pPacket->getPort();	//cout << "CGPortCheck: [" << IP << "] " << host.c_str() << ":" << port << endl;	Statement* pStmt = NULL;	try 	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		pStmt->executeQuery( "INSERT IGNORE INTO UserIPInfo (Name, IP, Port, ServerID) VALUES ( '%s', %lu, %u, %d )",									pPacket->getPCName().c_str(), IP, port, g_pConfig->getPropertyInt("ServerID") );		if (pStmt->getAffectedRowCount()==0)		{			// 促矫 茄锅 矫档			pStmt->executeQuery( "UPDATE UserIPInfo Set IP=%lu, Port=%u WHERE Name='%s'",									IP, 									port,									pPacket->getPCName().c_str());			//log(LOG_CGCONNECT, pPacket->getPCName(), "", host);		}		SAFE_DELETE(pStmt);	} catch (SQLQueryException & ) {		/*		try {			// 促矫 茄锅 矫档			pStmt->executeQuery( "UPDATE UserIPInfo Set IP=%ld, Port=%d WHERE Name='%s'",									IP, 									port,									pPacket->getPCName().c_str());			//log(LOG_CGCONNECT, pPacket->getPCName(), "", host);			SAFE_DELETE(pStmt);		} catch (SQLQueryException & sqe) {	//se) {			SAFE_DELETE(pStmt);			// 公矫茄促.			//throw ProtocolException("Duplicated IPInfo");		}		*/		SAFE_DELETE(pStmt);	}#else	cout << pPacket->toString() << endl;	#endif			__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?