Example #1
0
void NFNetModule::KeepAlive()
{
    if (!m_pNet)
    {
        return;
    }

    if (m_pNet->IsServer())
    {
        return;
    }

    if (nLastTime + 10 > GetPluginManager()->GetNowTime())
    {
        return;
    }

    nLastTime = GetPluginManager()->GetNowTime();

    NFMsg::ServerHeartBeat xMsg;
    xMsg.set_count(0);

    SendMsgPB(NFMsg::EGameMsgID::EGMI_STS_HEART_BEAT, xMsg, 0);

}
void NFCMysqlConnectMgrModule::CheckMysql()
{

	if (mnLastCheckTime + 10 > GetPluginManager()->GetNowTime())
	{
		return;
	}

	mnLastCheckTime = GetPluginManager()->GetNowTime();

	//////////////////////////////////////////////////////////////////////////
	int nServerID = 0;
	std::vector<int> xIntVec;
	for (NFIMysqlDriver* pMysqlDriver = mvMysql.First(nServerID); pMysqlDriver != NULL; pMysqlDriver = mvMysql.Next(nServerID))
	{ 
		if (!pMysqlDriver->Enable())
		{
			xIntVec.push_back(nServerID);
			mvInvalidMsyql.AddElement(nServerID, pMysqlDriver);
		}
	}

	for (int i = 0; i < xIntVec.size(); ++i)
	{
		mvMysql.RemoveElement(xIntVec[i]);
	}
	//////////////////////////////////////////////////////////////////////////
	xIntVec.clear();
	nServerID = 0;

	for (NFIMysqlDriver* pMysqlDriver = mvInvalidMsyql.First(nServerID); pMysqlDriver != NULL; pMysqlDriver = mvInvalidMsyql.Next(nServerID))
	{
		if (!pMysqlDriver->Enable() && pMysqlDriver->CanReconnect())
		{
			pMysqlDriver->Reconnect();
			if (pMysqlDriver->Enable())
			{
				xIntVec.push_back(nServerID);
				mvMysql.AddElement(nServerID, pMysqlDriver);
			}
		}
	}

	for (int i = 0; i < xIntVec.size(); ++i)
	{
		mvInvalidMsyql.RemoveElement(xIntVec[i]);
	}

}
Example #3
0
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT)
{
	int nRet = 0;
	{
		CAppSingleInstance m_appSingleInstance;
		if(m_appSingleInstance.IsAnotherInstanceRunning())
		{
			CString msgAlreadyRunning;
			msgAlreadyRunning.LoadString(IDS_ALREADYRUNNING);
			CString strCaption;
			strCaption.LoadString(IDS_CAPTION);
			MessageBox(NULL, msgAlreadyRunning, strCaption, 0);
			return 1;
		}

		CMessageLoop theLoop;
		_Module.AddMessageLoop(&theLoop);

		SetCurrentDirectoryToApplicationRoot();
		g_hObjMdl = LoadLibrary(L"objmdl.dll");
		GetPluginManager()->InitializePluginLibraryByHandle(g_hObjMdl);
		GetPluginManager()->InitializePluginLibraryByName(L"viewmdl.dll");
		GetPluginManager()->InitializePluginLibraryByName(L"asyncsvc.dll");
		GetPluginManager()->LoadPlugins(NULL);

		CComObject<CMainDlg>* pMainDlg;
		CComObject<CMainDlg>::CreateInstance(&pMainDlg);
		HWND hWnd = 0;

		if (FAILED(pMainDlg->CreateEx(NULL, &hWnd)))
		{
			ATLTRACE(_T("Main dialog creation failed!\n"));
			return 0;
		}

		::ShowWindow(hWnd, SW_HIDE);

		nRet = theLoop.Run();

		_Module.RemoveMessageLoop();
	}

#ifdef _DEBUG
	_CrtDumpMemoryLeaks();
#endif

	return nRet;
}
Example #4
0
bool NFCMysqlModule::Execute()
{
    if (mnLastCheckTime + 10 > GetPluginManager()->GetNowTime())
    {
        return false;
    }

    mnLastCheckTime = GetPluginManager()->GetNowTime();

    if (m_pMysqlDriverManager.get())
    {
        m_pMysqlDriverManager->CheckMysql();
    }

    return true;
}
Example #5
0
void NFCNetLogic::ConnectServer(const std::string strIp, int nPort)
{
	m_listDelayMsg.clear();
	m_bSocketReady = false;

	NF_SHARE_PTR<ConnectData> serverData = g_pNetClientModule->GetServerNetInfo(0);
	if (serverData)
	{
		serverData->eState = ConnectDataState::RECONNECT;
		// server config error, fix it
		if (strIp != "127.0.0.1")
		{
			serverData->strIP = strIp;
		}
		serverData->nPort = nPort; 
		serverData->mnLastActionTime = GetPluginManager()->GetNowTime()-9;
	}
	else
	{
		ConnectData xServerData;
		xServerData.nGameID = 0;
		xServerData.strIP = strIp;
		xServerData.nPort = nPort;
		g_pNetClientModule->AddServer(xServerData);
	}
}
Example #6
0
STDMETHODIMP CFormsService::OnInitialized(IServiceProvider* pServiceProvider)
{
	CHECK_E_POINTER(pServiceProvider);
	InvalidateRect(m_hControlWnd, NULL, TRUE);
	m_pServiceProvider = pServiceProvider;
	CComQIPtr<IMainWindow> pWindow = m_pControl;

	RETURN_IF_FAILED(m_pServiceProvider->QueryService(SERVICE_FORM_MANAGER, &m_pFormManager));

	CComPtr<IObjArray> pObjectArray;
	RETURN_IF_FAILED(GetPluginManager()->GetPluginInfoCollection(PNAMESP_HOSTFORM, PVIEWTYPE_INPLACE_CONTROL, &pObjectArray));

	UINT uiCount = 0;
	RETURN_IF_FAILED(pObjectArray->GetCount(&uiCount));
	for (size_t i = 0; i < uiCount; i++)
	{
		CComPtr<IPluginInfo> pPluginInfo;
		RETURN_IF_FAILED(pObjectArray->GetAt(i, __uuidof(IPluginInfo), (LPVOID*)&pPluginInfo));
		GUID gId = GUID_NULL;
		RETURN_IF_FAILED(pPluginInfo->GetId(&gId));
		CComPtr<IControl> pControl;
		RETURN_IF_FAILED(m_pFormManager->OpenForm(gId, &pControl));
	}

	RETURN_IF_FAILED(m_pFormManager->ActivateForm(CLSID_HomeTimeLineControl));

	return S_OK;
}
Example #7
0
NFNetModule::NFNetModule(NFIPluginManager* p)
{
    pPluginManager = p;

    mnBufferSize = 0;
    nLastTime = GetPluginManager()->GetNowTime();
    m_pNet = NULL;
}
void NFCMasterNet_ServerModule::LogGameServer()
{
    if (mnLastLogTime + 10 > GetPluginManager()->GetNowTime())
    {
        return;
    }

    mnLastLogTime = GetPluginManager()->GetNowTime();

    //////////////////////////////////////////////////////////////////////////

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "Begin Log WorldServer Info", "");

    NF_SHARE_PTR<ServerData> pGameData = mWorldMap.First();
    while (pGameData)
    {
        std::ostringstream stream;
        stream << "Type: " << pGameData->pData->server_type() << " ID: " << pGameData->pData->server_id() << " State: " <<  NFMsg::EServerState_Name(pGameData->pData->server_state()) << " IP: " << pGameData->pData->server_ip() << " FD: " << pGameData->nFD;
        m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), stream);

        pGameData = mWorldMap.Next();
    }

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "End Log WorldServer Info", "");

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "Begin Log LoginServer Info", "");

    //////////////////////////////////////////////////////////////////////////
    pGameData = mLoginMap.First();
    while (pGameData)
    {
        std::ostringstream stream;
        stream << "Type: " << pGameData->pData->server_type() << " ID: " << pGameData->pData->server_id() << " State: " <<  NFMsg::EServerState_Name(pGameData->pData->server_state()) << " IP: " << pGameData->pData->server_ip() << " FD: " << pGameData->nFD;
        m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), stream);

        pGameData = mLoginMap.Next();
    }

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "End Log LoginServer Info", "");

}
void NFCWorldNet_ServerModule::LogGameServer()
{


    mnLastCheckTime = GetPluginManager()->GetNowTime();

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "--------------------Begin Log GameServer Info", "");

    NF_SHARE_PTR<ServerData> pGameData = mGameMap.First();
    while (pGameData)
    {
        std::ostringstream stream;
        stream << "Type: " << pGameData->pData->server_type() << " ID: " << pGameData->pData->server_id() << " State: " <<  NFMsg::EServerState_Name(pGameData->pData->server_state()) << " IP: " << pGameData->pData->server_ip() << " FD: " << pGameData->nFD;

        m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), stream);

        pGameData = mGameMap.Next();
    }

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "--------------------End Log GameServer Info", "");

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "--------------------Begin Log ProxyServer Info", "");

    pGameData = mProxyMap.First();
    while (pGameData)
    {
        std::ostringstream stream;
        stream << "Type: " << pGameData->pData->server_type() << " ID: " << pGameData->pData->server_id() << " State: " <<  NFMsg::EServerState_Name(pGameData->pData->server_state()) << " IP: " << pGameData->pData->server_ip() << " FD: " << pGameData->nFD;

        m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), stream);

        pGameData = mProxyMap.Next();
    }

    m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "--------------------End Log ProxyServer Info", "");


	m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "--------------------Begin Log DBServer Info", "");

	pGameData = mDBMap.First();
	while (pGameData)
	{
		std::ostringstream stream;
		stream << "Type: " << pGameData->pData->server_type() << " ID: " << pGameData->pData->server_id() << " State: " << NFMsg::EServerState_Name(pGameData->pData->server_state()) << " IP: " << pGameData->pData->server_ip() << " FD: " << pGameData->nFD;

		m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), stream);

		pGameData = mDBMap.Next();
	}

	m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(), "--------------------End Log DBServer Info", "");
}
bool NFCWorldNet_ServerModule::Execute()
{

	if (mnLastCheckTime + 10 > GetPluginManager()->GetNowTime())
	{
		return true;
	}

	SynDBToGame();
	SynGameToProxy();
	SynWorldToProxy();
	SynWorldToGame();
	SynWorldToDB();


    LogGameServer();

	return true;
}
Example #11
0
STDMETHODIMP CFormsService::OnInitializing(IServiceProvider* pServiceProvider)
{
	CHECK_E_POINTER(pServiceProvider);
	CComQIPtr<IMainWindow> pWindow = m_pControl;
	RETURN_IF_FAILED(pWindow->SetFlags(MainWindowFlags::MainWindowNone));

	CComPtr<IUnknown> pUnk2;
	RETURN_IF_FAILED(GetPluginManager()->CreatePluginInstance(PNAMESP_HOSTFORM, PVIEWTYPE_CONTAINERWINDOW, CONTROL_TABCONTAINER, &pUnk2));
	CComQIPtr<IContainerControl> pContainerWindow = pUnk2;

	RETURN_IF_FAILED(pWindow->SetContainerControl(pContainerWindow));

	CComQIPtr<IControl> pControl = pContainerWindow;
	HWND hwnd = 0;
	RETURN_IF_FAILED(pControl->GetHWND(&hwnd));

	LONG lStyle = GetWindowLong(hwnd, GWL_STYLE);
	lStyle &= ~(WS_BORDER);
	SetWindowLong(hwnd, GWL_STYLE, lStyle);

	InvalidateRect(hwnd, NULL, TRUE);

	return S_OK;
}
Example #12
0
void MiniLaunchBar::InitializePluginManager() {
  GetPluginManager()->Initialize();
}
NFCMysqlConnectMgrModule::NFCMysqlConnectMgrModule( NFIPluginManager* p )
{
    pPluginManager = p;
	mnLastCheckTime = GetPluginManager()->GetNowTime();
    bCanReload = false;
}