当前位置: 首页>>代码示例>>C++>>正文


C++ WorldSession::GetSocket方法代码示例

本文整理汇总了C++中WorldSession::GetSocket方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldSession::GetSocket方法的具体用法?C++ WorldSession::GetSocket怎么用?C++ WorldSession::GetSocket使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WorldSession的用法示例。


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

示例1: CreateTracker

void Tracker::CreateTracker(WorldSession * adder, const char * args)
{
	if(!*args)
		return;

	char *pname = strtok((char*)args, " ");
	if(!pname)
	{
		if( adder != NULL )
			sChatHandler.RedSystemMessage(adder, "No name specified.");

		return;
	}
	Player *toAdd = objmgr.GetPlayer((const char*)pname, false);
	if( toAdd && toAdd->GetSession() && toAdd->GetSession()->GetSocket() )
	{
		WorldSession * toAddSession = toAdd->GetSession();
		TrackedPlr *user			= new TrackedPlr;
		user->Id					= sTracker.GenerateID();
		user->AcctId				= toAddSession->GetAccountId();
		user->Name					= toAddSession->GetAccountName();
		user->IP_Address			= toAddSession->GetSocket()->GetIP();

		AddTracker(user, false);

		char msg[128];
		sprintf(msg, "%sTracker:|r User [%s] is now being tracked (Tracker ID: %u)", MSG_COLOR_CYAN, toAddSession->GetAccountName().c_str(), (uint32)user->Id);
		sWorld.SendGMWorldText( msg );
	}
	else
	{
		if( adder != NULL )
			sChatHandler.RedSystemMessage(adder, "Server was unable to handle your request, please check your syntax.");
	}
}
开发者ID:Refuge89,项目名称:Hearthstone,代码行数:35,代码来源:Tracker.cpp

示例2: DestroySession

void ClusterInterface::DestroySession(uint32 sid)
{
	WorldSession * s = _sessions[sid];
	_sessions[sid] = 0;
	if(s)
	{
		/* todo: replace this with an event so we don't remove from the wrong thread */
		if(s->GetPlayer())
			s->LogoutPlayer(true);

		delete s->GetSocket();
		delete s;
	}
}
开发者ID:,项目名称:,代码行数:14,代码来源:

示例3: HandleFullDismountCommand

bool ChatHandler::HandleFullDismountCommand(const char * args, WorldSession *m_session)
{
	Player* p_target = getSelectedChar(m_session, false);
	if(!p_target)
	{
		SystemMessage(m_session, "Select a player or yourself first.");
		return false;
	}

   if(!p_target->IsInWorld())
       return false;

	WorldSession* sess = p_target->GetSession();
   
	if(!sess || !sess->GetSocket())
   	{
       RedSystemMessage(m_session, "Not able to locate player %s.", sess->GetPlayer()->GetName()); 
       return false;
	}

	if(!p_target->m_taxiPaths.size())
		p_target->SetTaxiState(false);

	p_target->SetTaxiPath(NULL);
	p_target->UnSetTaxiPos();
	p_target->m_taxi_ride_time = 0;

	p_target->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID , 0);
	p_target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_MOUNTED_TAXI);
	p_target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_LOCK_PLAYER);
	p_target->Dismount();
	sEventMgr.RemoveEvents(p_target, EVENT_PLAYER_TAXI_INTERPOLATE);

	if( p_target->m_taxiPaths.size() )
		p_target->m_taxiPaths.clear();
	return true;
}
开发者ID:Ballwinkle,项目名称:Ascent_NG,代码行数:37,代码来源:Level0.cpp


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