Exemplo n.º 1
0
        public void UpdateChat() //обновить чат отправителя
        {
            string command = ChatController.GetChat();

            try
            {
                int bytesSent = handler.Send(Encoding.UTF8.GetBytes(command));
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка команды: {0}", e.Message); Server.EndClient(this);
            }
        }
Exemplo n.º 2
0
 private void handleCommand(string data)
 {
     if (data.Contains("#setname"))
     {
         _userName = data.Split('&')[1];
         UpdateChat();
         return;
     }
     if (data.Contains("#newmsg"))
     {
         string message = data.Split('&')[1];
         ChatController.AddMessage(_userName, message);
         return;
     }
 }
Exemplo n.º 3
0
 private void handleCommand(string data)
 {//в зависимости от тега в сообщении выполняем действия
     if (data.Contains("#setname"))
     {
         _userName = data.Split('&')[1];
         //UpdateChat();
         UpdateOnline();
         return;
     }
     if (data.Contains("#newmsg"))
     {
         string message = data.Split('&')[1];
         ChatController.AddMessage(_userName, message, false);
         return;
     }
     if (data.Contains("#personally"))
     {
         string message = data.Split('@')[1];
         ChatController.AddMessage(_userName, message, true);
         return;
     }
 }
Exemplo n.º 4
0
 private void HandleCommand(string data) // обработчик команд
 {
     if (data.Contains("#authoriz"))     // авторизация
     {
         string NameAndPass = data.Split('&')[1];
         string Name        = NameAndPass.Split('~')[0];
         string Password    = NameAndPass.Split('~')[1];
         if (Authorization(Name, Password))
         {
             Thread.Sleep(1000);
             Server.SendOnlineUsersAllChats();
             Thread.Sleep(1000);
             Server.SendHistoryNewUser(this);
         }
         return;
     }
     else if (data.Contains("#registr")) // регистрация
     {
         string NameAndPass = data.Split('&')[1];
         string Name        = NameAndPass.Split('~')[0];
         string Password    = NameAndPass.Split('~')[1];
         if (Registration(Name, Password))
         {
             Thread.Sleep(1000);
             Server.SendOnlineUsersAllChats();
             Thread.Sleep(1000);
             Server.SendHistoryNewUser(this);
         }
         return;
     }
     else if (data.Contains("#newmsg")) // новое сообщение
     {
         string message = data.Split('&')[1];
         ChatController.AddMessage(_UserName, message, DateTime.Now.ToShortTimeString());
         return;
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Функция получения комманд для сервера
        /// </summary>
        /// <param command="data"></param>
        private void handleCommand(string data)
        {
            // Если в комманде содержится строка "#setname"
            // значит клиент ввёл своё имя и отправил его на сервер.
            string command = "#setname";
            int    count   = 0;

            if (data.Contains(command))
            {
                for (int i = 0; i < 8; i++)
                {
                    if (data[i] == command[i])
                    {
                        count++;
                    }
                    if (count == 8)
                    {
                        userName = data.Split('&')[1];
                        // Обновляем чат (добавляем все сообщения хранящиеся на сервере)
                        UpdateChat();
                    }
                }
                count = 0;
                return;
            }
            // Если в комманде содержится строка "#newmsg"
            // значит это сообщение от пользователя.
            // Пример строки - data = "#newmsg&Всем привет!"
            if (data.Contains("#newmsg"))
            {
                string message = data.Split('&')[1];
                // Добавляем сообщение в список.
                ChatController.AddMessage(userName, message);
                return;
            }
        }
Exemplo n.º 6
0
 public void UpdateChat()
 {
     Send(ChatController.GetChat());
 }
Exemplo n.º 7
0
 private static void restartServer()
 {
     ChatController.ClearChat();
 }
Exemplo n.º 8
0
 public void SendOnlineUsers()              // отправляет список пользователей онлайн
 {
     Send(ChatController.GetOnlineUsers()); // передаем в метод Send список пользователей
 }
Exemplo n.º 9
0
 public void SendMessage()              // отправляет сообщение
 {
     Send(ChatController.GetMessage()); // передаем в метод Send сообщение
 }
Exemplo n.º 10
0
 public void SendHistory()           // отправляет историю 100 последних сообщений
 {
     Send(ChatController.GetChat()); // передаем в метод Send историю сообщений
 }