Esempio n. 1
0
        /// <summary>
        /// This function is being called whenever a new client is connected
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnNewClient(object sender, NewClientEventArgs e)
        {
            bool   result;
            string answer = _mController.ExecuteCommand((int)CommandEnum.GetConfigCommand, null, out result);

            if (answer != "")
            {
                serverChannel.SendSpecificlly(e.Client, answer);
            }
            lock (thisLock)
            {
                // get the list of logs
                List <MessageRecievedEventArgs> logMsgsReversed =
                    new List <MessageRecievedEventArgs>(LogService.Instance.LogMsgs);
                // reverse the list
                logMsgsReversed.Reverse();
                // go over the list of logs ans send them to the specific client
                foreach (MessageRecievedEventArgs msg in logMsgsReversed)
                {
                    string[]       info = { msg.Status.ToString(), msg.Message };
                    CommandMessage msgC = new CommandMessage((int)CommandEnum.LogCommand, info);
                    serverChannel.SendSpecificlly(e.Client, msgC.ToJson());
                    System.Threading.Thread.Sleep(100);
                }
            }
            _mLogging.Log("New client is connected", MessageTypeEnum.INFO);
            _mLogging.Log("Send config: " + answer, MessageTypeEnum.INFO);
        }