lgincomingconnectionokhandler.cpp

来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 135 行

CPP
135
字号
//--------------------------------------------------------------------------------//// Filename    : LGIncomingConnectionOKHandler.cpp// Written By  : Reiot// Description :////--------------------------------------------------------------------------------// include files#include "LGIncomingConnectionOK.h"#ifdef __GAME_SERVER__	#include "GamePlayer.h"	#include "IncomingPlayerManager.h"	#include "Assert.h"	#include "Statement.h"	#include "DatabaseManager.h"	#include "LogDef.h"	#include "Gpackets/GCReconnectLogin.h"#endif//--------------------------------------------------------------------------------// // LGIncomingConnectionOKHander::execute()// // 肺弊牢 辑滚肺何磐 LGIncomingConnectionOK 菩哦捞 朝酒坷搁, 霸烙 辑滚绰 捞 倾啊啊 // 绢蠢 敲饭捞绢俊 措茄 倾啊牢瘤 茫酒郴具 茄促. 弊 饶, 捞 敲饭捞绢俊霸 LCReconnectLogin// 菩哦阑 带廉拎具 茄促.// //--------------------------------------------------------------------------------void LGIncomingConnectionOKHandler::execute ( LGIncomingConnectionOK * pPacket )	 throw ( ProtocolException , Error ){	__BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__	try {			// 敲饭捞绢 酒捞叼甫 荤侩秦辑 敲饭捞绢 按眉俊 立辟茄促.//		__ENTER_CRITICAL_SECTION((*g_pIncomingPlayerManager))		GamePlayer * pGamePlayer = NULL;		try {			pGamePlayer = g_pIncomingPlayerManager->getPlayer( pPacket->getPlayerID() );		} catch ( NoSuchElementException ) {			pGamePlayer = g_pIncomingPlayerManager->getReadyPlayer( pPacket->getPlayerID() );		} 		int fd = -1;		Socket* pSocket = pGamePlayer->getSocket();		if (pSocket!=NULL) fd = (int)pSocket->getSOCKET();		if ( pGamePlayer->getPlayerStatus() == GPS_AFTER_SENDING_GL_INCOMING_CONNECTION ) 		{			FILELOG_INCOMING_CONNECTION("incomingDisconnect.log", "OK FD : %d, %s",							fd, (pSocket==NULL? "NULL" : pSocket->getHost().c_str()) );			/*	        // 努扼捞攫飘俊霸 霸烙 辑滚肺 犁立加窍扼绊 舅妨霖促.			GCReconnectLogin gcReconnectLogin;			gcReconnectLogin.setLoginServerIP( pPacket->getHost() );			gcReconnectLogin.setLoginServerPort( pPacket->getTCPPort() );			gcReconnectLogin.setKey( pPacket->getKey() );			// LCReconnectLogin 菩哦阑 傈价茄促.			pGamePlayer->sendPacket( &gcReconnectLogin );			cout << "LGIncomingConnectionOKHandler Send Packet to Client Required Reconnect ServerIP : " << pPacket->getHost() << endl;			*/			// 盔贰绰 弊成 捞 鸥捞怪俊 菩哦阑 焊陈绰单..			// 鸥捞怪 巩力肺 立加秦力啊 力措肺 救灯绰单 client俊辑 立加夸没阑 秦坷扁 锭巩俊			// 漏妨辑..			// GamePlayer俊 历厘秦滴绊.. IncomingPlayerManager俊辑 disconnect()瞪锭			// 历厘秦敌 packet阑 client肺 焊辰促.			GCReconnectLogin* gcReconnectLogin = new GCReconnectLogin;			gcReconnectLogin->setLoginServerIP( pPacket->getHost() );			gcReconnectLogin->setLoginServerPort( pPacket->getTCPPort() );			gcReconnectLogin->setKey( pPacket->getKey() );			pGamePlayer->setReconnectPacket( gcReconnectLogin );			//cout << "LGIncomingConnectionOKHandler Store Packet : " << gcReconnectLogin->toString().c_str() << endl;			//cout << "LGIncomingConnectionOKHandler Store Packet" << endl;		}		else		{			FILELOG_INCOMING_CONNECTION("incomingDisconnect.log", "Invalid FD : %d, %s, ps=%d",							fd, (pSocket==NULL? "NULL" : pSocket->getHost().c_str()), 							(int)pGamePlayer->getPlayerStatus());			cout << "Invalid Player Status("				<< (int)pGamePlayer->getPlayerStatus()				<< ") must be AFTER_SENDING_LG_INCOMING_CONNECTION" << endl;		}				// 捞犯霸 秦 滴搁, 		// GamePlayer->processCommand()俊辑 isPenaltyFlag()眉农俊辑 吧妨辑		// 促澜 畔狼 IncomingPlayer->processCommands()俊辑 肋府霸 等促.		pGamePlayer->setPenaltyFlag(PENALTY_TYPE_KICKED);		pGamePlayer->setItemRatioBonusPoint(3);		// 楷搬阑 辆丰茄促.		//pGamePlayer->disconnect( UNDISCONNECTED );		// LPM俊辑 昏力茄促.		//g_pIncomingPlayerManager->deletePlayer_NOBLOCKED( pGamePlayer->getSocket()->getSOCKET());		// GamePlayer 按眉甫 昏力茄促.		//SAFE_DELETE(pGamePlayer);		//__LEAVE_CRITICAL_SECTION((*g_pIncomingPlayerManager))	} 	catch ( NoSuchElementException & nsee ) 	{		cout << "Player not exist or already disconnected" << endl;	}#endif			__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

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