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; }
void ServerInfoWindow::postInit() { Window::postInit(); setVisible(Visible_true); showServerInfo(); }