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 e) { Console.WriteLine(e.Message); } finally { // в случае выхода из цикла закрываем ресурсы server.RemoveConnection(this.Id); Close(); } }
public void Process() { try { Stream = client.GetStream(); while (true) { try { if (GetClientNumber(Id) <= 3) { string message = GetMessage(); server.AddMessage(Id, message); Thread.Sleep(6000); if (server.DupletCheck(message) == false) { if (server.RestartCheck(Id, message)) { message = GetMessage(); Console.WriteLine($"Поток номер {GetClientNumber(Id)}, " + DateTime.Now.ToShortTimeString() + ": " + message.ToString()); string builder = znach[rnd.Next(0, 4)] + message.ToString(); SendMessage(builder); server.RemoveMessage(Id, message); } else { message = GetMessage(); Console.WriteLine($"Поток номер {GetClientNumber(Id)}, " + DateTime.Now.ToShortTimeString() + ": " + message.ToString()); string builder = znach[rnd.Next(0, 4)] + message.ToString(); SendMessage(builder); server.RemoveMessage(Id, message); server.RemoveDuplets(message); } } else { string builder = "Повторка, но сча все буит"; SendMessage(builder); server.RemoveMessage(Id, message); server.AddDuplet(Id, message); } } else { string message = GetMessage(); string builder = "Превышен лимит потоков, попробуйте позже :с"; SendMessage(builder); } } catch { string message = String.Format($"Поток номер {GetClientNumber(Id)} офнул"); Console.WriteLine(message); break; } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { server.RemoveConnection(this.Id); Close(); } }