⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tempserversession.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 CPP
字号:
#include "stdafx.h"
#include "TempServerSession.h"
#include <Macro.h>
#include <Protocol_ServerCommon.h>
#include <PacketStruct_ServerCommon.h>
#include "PacketStruct.h"
#include "ServerSessionFactory.h"
#include "ServerSessionManager.h"
#include "ServerInfoManager.h"
//#include "PacketHandler.h"

TempServerSession::TempServerSession()
{
	m_bFirstPacketReceived = FALSE;
}

TempServerSession::~TempServerSession()
{
}
VOID TempServerSession::Release()
{
	m_bFirstPacketReceived = FALSE;
}

// 付胶磐俊 立加窍绰 辑滚甸篮 磊脚狼 OnAccept绰 龋免登瘤 臼绊 TempServerSession::OnAccept父 龋免等促.
VOID TempServerSession::OnAccept( DWORD dwNetworkIndex )
{
	ServerSession::OnAccept( dwNetworkIndex );
}

VOID TempServerSession::OnRecv( BYTE *pMsg, WORD wSize )
{
	assert( m_bFirstPacketReceived == FALSE );
	m_bFirstPacketReceived = TRUE;

	// 钱肺何磐 NetworkObject甫 罐酒 柯促.

	MSG_SERVER_TYPE *pRecvMsg = (MSG_SERVER_TYPE *)pMsg;
	ServerSession *pNewSession = ServerSessionFactory::Instance()->AllocServerSession( (eSERVER_TYPE)pRecvMsg->m_byServerType );

	// 货肺款 NetworkObject肺 背眉
	Redirect( pNewSession );

	// 辑滚 沥焊 抛捞喉俊辑 IP客 辑滚 鸥涝栏肺 辑滚甫 茫酒辑 弊 虐甫 技泼茄促. 弊府绊 概聪历俊 眠啊
	SERVER_KEY key = ServerInfoManager::Instance()->GetServerKey( (eSERVER_TYPE)pRecvMsg->m_byServerType, GetIP() );

	// DB俊辑 罐篮 辑滚 沥焊甸 吝俊辑 茫瘤 给茄 版快 立加 谗澜
	if( key == 0 )
	{
		MessageOut( eCRITICAL_LOG, "DB俊 IP(%s) ServerType(%d)俊 秦寸窍绰 辑滚啊 绝栏骨肺 楷搬阑 谗嚼聪促.",
				GetIP(), pRecvMsg->m_byServerType );
		Disconnect();
		return;
	}

	// 技记 沥焊 汗荤
	pNewSession->SetServerKey( key );
	pNewSession->SetSessionIndex( this->GetSessionIndex() );
	pNewSession->OnRedirect();

	// 捞 TempSession篮 沥府窍绊
	this->Release();
	ServerSessionFactory::Instance()->FreeServerSession( this );

	// 角力 荤侩且 技记阑 概聪廉俊 眠啊
	ServerSessionManager::Instance()->AddServer( pNewSession );
	MessageOut( eCRITICAL_LOG, "Add Server (%u/%u/%u/%u)", key.GetWorldID(), 
									key.GetChannelID(), key.GetServerType(), key.GetServerID() );
}

⌨️ 快捷键说明

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