public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; ClientObject.clientName = userName; ServerObject.BroadcastId(Id); ServerObject.BroadcastDelUser(userName, Id); message = "\n" + userName + " - вошел(-ла) в чат (количество подключенных: " + ServerObject.clients.Count + " )\n"; ServerObject.LogChat(message); server.BroadcastMessage(message, this.Id); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); if (ItIsCommand(message)) // проверка, является ли сообщение командой { server.BroadcastNoify(message, this.Id); // рассылка уведомления от сервера } else { Console.WriteLine(message); if (message.StartsWith("[@")) { Console.WriteLine("Личное сообщение"); ServerObject.BroadcastPrivateMessages(message, Id, userName); } else if (message.Contains("admin admin")) { ServerObject.Admin(message, userName); message = $"{userName} стал(-a) админом"; ServerObject.LogChat(message); server.BroadcastMessage(message, this.Id); } else if (message.Contains("del")) { ServerObject.AdminDelUser(message, userName); message = $"{userName} удалил пользователя"; ServerObject.LogChat(message); //server.BroadcastMessage(message, this.Id); } else { message = String.Format("{0}: {1}", userName, message); ServerObject.LogChat(message); server.BroadcastMessage(message, this.Id); } } } catch { message = String.Format("\n" + "{0} - покинул(-а) чат" + "\n", userName); ServerObject.LogChat(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }