Example #1
0
bool CDomiServer::initialize(uint16 uServerID) {
	showServerInfo();

#ifdef WIN32
	char szEvent[256] = { 0 };	/*唯一事件*/
	dSprintf(szEvent, sizeof(szEvent), "%s_%d", "DomiServer", uServerID);
	// 如果可以打开指定事件名的事件,说明已经存在该进程
	m_hServerEvent = ::OpenEvent(EVENT_ALL_ACCESS, FALSE, szEvent);
	if (m_hServerEvent)
		return false;
	m_hServerEvent = ::CreateEvent(nullptr, FALSE, FALSE, szEvent);
#endif

	char logprev[256] = { 0 };
	dSprintf(logprev, sizeof(logprev), "%s_%u", "test_log_", uServerID);
	CLog::initialize(NULL, logprev);// 日志初始化

	// 这里必须在CLog::initilize之后
	// 守护进程 TODO
	if (m_bInitFlag) return true;

	::srand((uint32)getTime());		// 设置随机种子
	m_uServerID = uServerID;		// 设置服务器id

	if (!loadConfig()) {// load 服务器配置
		CLog::error("配置文件装载失败!...");
		return false;
	}

	installBreakHandlers();
	m_tmStartTime = getTime();
	m_bInitFlag = true;
	return true;
}
Example #2
0
void ServerInfoWindow::postInit()
{
    Window::postInit();
    setVisible(Visible_true);
    showServerInfo();
}