/// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="sessionID">Session ID.</param>
        /// <param name="socket">Server connected socket.</param>
        /// <param name="bindInfo">BindInfo what accepted socket.</param>
        /// <param name="server">Reference to server.</param>
        internal MonitoringServerSession(string sessionID,SocketEx socket,BindInfo bindInfo,MonitoringServer server)
            : base(sessionID,socket,bindInfo,server)
        {
            m_pServer = server;

            // Start session proccessing
            StartSession();
        }
Пример #2
0
        /// <summary>
        /// Starts mail server.
        /// </summary>
        public void Start()
        {
            // Server is already running, so do nothing.
            if(m_Running){
                return;
            }

            m_ServersFileDate = DateTime.MinValue;
            m_pSettingsTimer_Elapsed(this,null);
            m_pSettingsTimer.Enabled = true;

            // Start management server
            m_pManagementServer = new MonitoringServer(this);
		    m_pManagementServer.Start();

            m_Running   = true;
            m_StartTime = DateTime.Now;
        }
Пример #3
0
        /// <summary>
        /// Stops mail server.
        /// </summary>
        public void Stop()
        {
            // Server isn't running, so do nothing.
            if(!m_Running){
                return;
            }

            m_pSettingsTimer.Enabled = false;

            // Kill all running virtual servers
            foreach(VirtualServer server in m_pVirtualServers){
                server.Stop();
            }
            m_pVirtualServers.Clear();

            // Kill management server
            m_pManagementServer.Dispose();
            m_pManagementServer = null;

            m_Running = false;

            // Logging stuff
			Logger.WriteLog(m_StartupPath + "Logs\\Server\\server.log","//---- Server stopped " + DateTime.Now);
        }