public void Process() { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; message = userName + " вошел в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { message = GetMessage(); if (message.Length != 0) { message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } else { message = String.Format("{0} покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); server.RemoveConnection(this.Id); Close(); break; } } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; CheckName(userName); server.clientsName.Add(userName); message = userName + " присоеденился"; string clientsCount = Convert.ToString(server.clients.Count); server.BroadcastMessage($"Подключенных пользователей: {clientsCount}"); // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message); } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы //удаление из списка онлайна int index = server.usersId.IndexOf(this.Id); server.clientsName.RemoveAt(index); server.RemoveConnection(this.Id); string clientsCount = Convert.ToString(server.clients.Count); server.BroadcastMessage($"Подключенных пользователей: {clientsCount}"); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); //userName = message; //message = userName + " вошел в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям //server.BroadcastMessage(message, this.Id); //Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { // //Console.Write("Полученный текст: " + data + "\n\n"); // data = String.Format(data); // if (data == info[0]) // { // data = String.Format("21:00"); // message = GetMessage(); if (message == info[0]) { message = String.Format("21:00"); } //message = String.Format("{0}", message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); Console.WriteLine("Пользователь подключился"); boardData = GetMessage(); Console.WriteLine(boardData); while (!BoardIsSend) { if (server.CountConnections() == 2) { server.BroadcastMessage(boardData, this.Id); server.BroadcastMessage("ChangeFlag", this.Id); Console.WriteLine("Flag is change"); //System.Threading.Thread.Sleep(200); BoardIsSend = true; } System.Threading.Thread.Sleep(500); } // в бесконечном цикле получаем сообщения от клиента while (true) { try { Command(GetMessage()); } catch { Console.WriteLine("Пользователь отключился"); break; } System.Threading.Thread.Sleep(200); } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; message = userName + " вошел в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while(true) { try { message = GetMessage(); if (message == "") { throw new Exception(); } message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; message = userName + " зайшов в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { Random rnd = new Random(); int i = rnd.Next(1, 14); Console.ForegroundColor = (System.ConsoleColor)i; message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); Console.ResetColor(); } catch { message = String.Format("{0}: залишив чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = _client.GetStream(); var message = GetMessage(); _userName = message; message = _userName + " вошел в чат"; _server.BroadcastMessage(message, Id); Console.WriteLine(message); while (true) { try { message = GetMessage(); if (message == "exit") { _client.Close(); } message = $"{_userName}: {message}"; Console.WriteLine(message); _server.BroadcastMessage(message, Id); } catch { message = $"{_userName}: покинул чат"; Console.WriteLine(message); _server.BroadcastMessage(message, Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { _server.RemoveConnection(Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; var time = $"{DateTime.Now.Hour}:{DateTime.Now.Minute}"; message = $"{time} - {userName} вошел в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); message = String.Format("{0} - {1}: {2}", time, userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0} - {1}: покинул чат.", time, userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Command(string command) { string[] args = command.Split(' '); switch (args[0]) { case "Shoot": Shoot(args[1]); System.Threading.Thread.Sleep(200); if (args[2] == "-") { server.BroadcastMessage("ChangeFlag", this.Id); } break; case "Check": Check(args[1], args[2]); break; } }
public void Process() { try { Stream = client.GetStream(); // Primim numele Client string message = GetMessage(); userName = message; message = userName + " Ati intrat in CHAT"; // Trimitem mesaj de intrare in Chat server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // in urmatorul ciclu primim mesaje while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: Ati parasit CHAT-ul", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // Daca iesim din chat inchidem procesul server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; message = userName + " logged in to the chat"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: left the chat", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); string message = GetMessage(); userName = message; message = userName + " entered chat."; server.BroadcastMessage(message, Id); Console.WriteLine(message); while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, Id); } catch { message = String.Format("{0}: left the chat.", userName); Console.WriteLine(message); server.BroadcastMessage(message, Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { server.RemoveConnection(Id); Close(); } }
public void Process() { try { Stream = _client.GetStream(); string message = GetMessage(); _userName = message; message = _userName + "Entered chat"; _server.BroadcastMessage(message, this.Id); Console.WriteLine(message); while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", _userName, message); Console.WriteLine(message); _server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: left the chat", _userName); Console.WriteLine(message); _server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы _server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { stream = client.GetStream(); string message = GetMessage(); userName = message; message = userName + " вошел в чат"; server.BroadcastMessage(message, this.Id); Console.WriteLine(message); while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: покинул нас =(", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); String message = GetMessage(); //Получаем имя пользователя userName = message; message = userName + " вошёл в чат"; server.BroadcastMessage(message, this.Id); //Посылаем сообщение о входе в чат всем подключенным пользователям Console.WriteLine(message); while (true) //В бесконечном цикле получаем сообщения от клиента { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception exception) { Console.WriteLine(exception.Message); } finally { server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); string message = GetMessage(); userName = message; message = userName + " is here"; server.BroadcastMessage(message, this.Id); Console.WriteLine(message); while (true) { try { message = GetMessage(); message = $"{userName}: {message}"; Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = $"{userName}: left chat"; Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { server.RemoveConnection(this.Id); Close(); } }
//public string GetUsername() //{ // BinaryReader reader = new BinaryReader(Stream); // string username = reader.ReadString(); // return username; //} public void Process() { try { Console.WriteLine("начался метод Process"); //byte[] messageBytes; string message; Console.WriteLine("Бесконечный цикл чата"); while (true) { try { message = GetMessageFromChat(); //message = GetMessageFromChat(); //message = String.Format("{0}: {1}", userName, message); //Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { Stream = client.GetStream(); string message = GetMessage(); userName = message; ServerObject.listOfParticipants.Add(userName); message = "Notification: ================ " + userName + " enter in the chat.================"; server.BroadcastMessage(message, Id); Console.WriteLine(message); message = userName + " ~Connect"; server.BroadcastMessage(message, Id); UpdateParticipantsList(Id, userName); while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, Id); } catch { message = String.Format(userName, "{0}: close from chat"); Console.WriteLine(message); server.BroadcastMessage(message, Id); break; } } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; Username = message; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessageForAll("$$$#!" + String.Join(",", server.Clients.Select(client => client.Username)), this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } catch { server.Clients.Remove(this); server.BroadcastMessageForAll("$$$#!" + String.Join(",", server.Clients.Select(client => client.Username)), this.Id); Console.WriteLine(message + " покинул чат"); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); string message = GetMessage(); userName = message; Thread myThr = new Thread(SendMess); myThr.Start(); message = userName + " вошел в чат"; server.SendListOfClients(server.clientsOnline); server.BroadcastMessage(message, this.Id); Console.WriteLine(message); while (true) { try { message = GetMessage(); if (message != "") { if (Regex.IsMatch(message, "/id:")) { message = Regex.Replace(message, "/id:", ""); string ID = message.Split(',')[0]; message = Regex.Replace(message, ID + ",", ""); server.SendPrivateMessage(message, ID, userName, Id); Console.WriteLine(message); } else { message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); } } if (message == "") { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); server.RemoveConnection(Id); server.SendListOfClients(server.clientsOnline); break; } } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); server.RemoveConnection(Id); server.SendListOfClients(server.clientsOnline); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { server.RemoveConnection(this.Id); server.SendListOfClients(server.clientsOnline); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; message = userName + " вошел в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id, null); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { if (message == "") { break; } message = GetMessage(); if (message == "%exit%") { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); break; } else if (message.Contains("%p%")) { string add = message.Substring(3, message.IndexOf("^") - 3); message = message.Substring(message.IndexOf("^") + 1, message.Length - message.IndexOf("^") - 1); Console.WriteLine("(Личное от {0} к {1}): {2}", userName, add, message); message = String.Format("(личное от {0}): {1}", userName, message); server.BroadcastMessage(message, this.Id, add); } else if (message == "%online%") { string add = "online"; server.BroadcastMessage(message, this.Id, add); Console.WriteLine("{0} запросил список пользователей онлайн", userName); } else { message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id, null); } message = null; } catch { message = String.Format("{0}: покинул чат", userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id, null); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); while (!server.IsValidUsername(message)) { server.SendMessageToId("invalidlogin|", Id); message = GetMessage(); } userName = message; server.SendMessageTo("successeslogin|", UserName); server.BroadcastUserlist(); message = $"msg|{userName} вошел в чат|"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message); server.PrintMessage(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); if (message[0] == '@') { var receiver = new string(message.Skip(1).TakeWhile(x => x != ' ').ToArray()); message = new string(message.Skip(receiver.Length + 1).ToArray()); message = $"msg|[{userName}] -> [{receiver}] :{message}|"; server.PrintMessage(message); server.SendMessageTo(message, userName); if (!server.SendMessageTo(message, receiver)) { server.SendMessageTo("msg| Пользователь не найден.|", userName); } } else if (message.Contains("#userdisconnect")) { server.RemoveConnection(Id); Close(); } else { message = $"msg|{userName}: {message}|"; server.PrintMessage(message); server.BroadcastMessage(message); } } catch { message = String.Format("msg|{0}: покинул чат|", userName); server.PrintMessage(message); server.BroadcastMessage(message); break; } } } catch (Exception e) { server.PrintMessage(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
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(); } }
public void Process() { try { Stream = client.GetStream(); string message = null; SetNamePass(GetMessage()); if (server.Identification(userName, userPass)) { message = "takeid/" + Id; byte[] data = Encoding.Unicode.GetBytes(message); Stream.Write(data, 0, data.Length); Thread.Sleep(100); SendUserList(); Thread.Sleep(100); message = "history/" + server.UploadHistory(); byte[] historyData = Encoding.Unicode.GetBytes(message); Stream.Write(historyData, 0, historyData.Length); Thread.Sleep(100); message = "entry/" + DateTime.Now.ToLongTimeString() + '/' + userName + '/' + Id; server.UserEnterMessage(userName); server.BroadcastMessage(message, Id); while (true) { try { message = GetMessage(); if (message.Length == 0) { throw new Exception(); } MessageDecode(message); } catch { server.UserOutMessage(userName); message = "leave/" + DateTime.Now.ToLongTimeString() + '/' + Id; server.BroadcastMessage(message, this.Id); break; } } } else { message = "novalid/" + Id; byte[] data = Encoding.Unicode.GetBytes(message); Stream.Write(data, 0, data.Length); } } catch (Exception e) { Console.WriteLine(e.Message); } finally { server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); string message; while (true) { message = GetMessage(); var loginSchemaFrame = NJsonSchema.JsonSchema.FromType <LoginEvent>(); var messageSchemaFrame = NJsonSchema.JsonSchema.FromType <MessageEvent>(); var openCorrSchemaFrame = NJsonSchema.JsonSchema.FromType <OpenCorrespondence>(); JSchema loginSchema = JSchema.Parse(loginSchemaFrame.ToJson().ToString()); JSchema messageSchema = JSchema.Parse(messageSchemaFrame.ToJson().ToString()); JSchema openCorrSchema = JSchema.Parse(openCorrSchemaFrame.ToJson().ToString()); if (JObject.Parse(message).IsValid(loginSchema)) { LoginEvent loginEvent = new LoginEvent(); loginEvent = JsonConvert.DeserializeObject <LoginEvent>(message); bool chek = Authorization(loginEvent); if (chek) { Console.WriteLine(loginEvent.login + " вошел в чат"); foreach (var client in server.clients) { Console.WriteLine(client.id + "-- idUser"); } // Image image = Image.FromFile(@"D:\Archive\Archive\StepChat\StepChat\Step_Chat\Server\ChatServer\Photos\1200px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg"); int[] ids_rec = new int[1]; ids_rec[0] = id; server.BroadcastMessage(СompileResponseAfterLogin(), ids_rec); } } if (JObject.Parse(message).IsValid(messageSchema)) { MessageEvent messageEvent = JsonConvert.DeserializeObject <MessageEvent>(message); MessagesEventsFunc(messageEvent); } if (JObject.Parse(message).IsValid(openCorrSchema)) { OpenCorrespondence openCorrespondence = JsonConvert.DeserializeObject <OpenCorrespondence>(message); int[] ids_rec = new int[1]; ids_rec[0] = id; server.BroadcastMessage(AfterOpenChat(openCorrespondence), ids_rec); } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.id); Close(); } }
/// <summary> /// В методе Process реализован простой протокол для обмена сообщениями с клиентом. /// Так, как в начале получаем имя подключенного пользователя, а затем, в цикле получаем все остальные сообщения. /// Для трансляции сообщений всем пользователям используется метод BroadcastMessage() класса ServerObject. /// </summary> public void Process() { try { // загружаем список доступных команд server.AddListTeams(); Stream = client.GetStream(); // получаем имя пользователя string message = GetMessage(); userName = message; server.AddUserName(message); message = userName + " вошел в чат"; // посылаем сообщение о входе в чат всем подключенным пользователям server.BroadcastMessage(message, this.Id); Console.WriteLine(message); // в бесконечном цикле получаем сообщения от клиента while (true) { try { message = GetMessage(); if (message != "") { switch (message) { case "#Список доступных команд": message = String.Format("{0}: {1}", "#BOT", server.DataBaseTeams()); Console.WriteLine(message); server.MessageToSender(message, this.Id); break; case "#Список пользователей": message = String.Format("{0}: {1}", "#BOT", server.DataBaseClients()); Console.WriteLine(message); server.MessageToSender(message, this.Id); break; case "#Завершить чат": Console.WriteLine(message); server.RemoveConnection(this.Id); Close(); break; default: message = String.Format("{0}: {1}", userName, message); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch { message = String.Format("{0}: покинул чат", userName); server.RemoveUserName(userName); Console.WriteLine(message); server.BroadcastMessage(message, this.Id); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }