コード例 #1
0
ファイル: BaseCommand.cpp プロジェクト: LancerLee/PSS
void CBaseCommand::Init(const char* pFileName)
{
	ReadIniFile(pFileName);

	//m_objLSServer.Init(1, "127.0.0.1", 10080, m_pServerObject);
	m_objLSServer.Init(1, m_szLSIP, m_u4LSPort, m_pServerObject);

	vecControlInfo objControlInfo;
	m_pServerObject->GetControlListen()->ShowListen(objControlInfo);

	//自动得到当前开放的IP和端口,然后记录下来,发送给远端LS
	m_objLSServer.Set_LG_Info(objControlInfo[0].m_szListenIP, 
							  objControlInfo[0].m_u4Port, 
							  (uint32)m_pServerObject->GetControlListen()->GetServerID());
	m_objLSServer.Connect();

	ActiveTimer* pTimer = m_pServerObject->GetTimerManager();
	m_u4TimeID = (uint32)pTimer->schedule(this, NULL, ACE_OS::gettimeofday() + ACE_Time_Value(MAX_TIMER_INTERVAL), ACE_Time_Value(MAX_TIMER_INTERVAL));
}
コード例 #2
0
ファイル: Unit_TimeQueue.cpp プロジェクト: freeeyes/PSS
void CUnit_TimerManager::Test_TimerManager(void)
{
    bool blRet = false;
    ActiveTimer objActiveTimer;
    objActiveTimer.activate();

    ACE_Time_Value tvNow = ACE_OS::gettimeofday();
    long lTimerID = objActiveTimer.schedule(m_pTimeTask, NULL, tvNow + ACE_Time_Value(0, 1000));

    if (-1 == lTimerID)
    {
        CPPUNIT_ASSERT_MESSAGE("[Test_TimerManager]schedule is fail.", true == blRet);
    }

    ACE_Time_Value tvSleep(0, 2000);
    ACE_OS::sleep(tvSleep);

    objActiveTimer.deactivate();
    objActiveTimer.close();

    ACE_Time_Value tvSleepClose(0, 1000);
    ACE_OS::sleep(tvSleepClose);
    OUR_DEBUG((LM_INFO, "[CUnit_TimerManager]objActiveTimer is close.\n"));
}