/* Подпрограмма блокировки клиента с ID */ public void BanClient(sbyte clientID) { int clientInd = GetClientIndByID(clientID); if (clientInd < 0) { return; } clients[clientInd].IsClientBanned = true; try { clients[clientInd].Writer.Write((byte)MessageType.ClientBanned); } catch (Exception) { UI.RemoveClientFromList(clients[clientInd].ID); DisconnectClient(clients[clientInd].ID); } }
/* Подпрограмма обработки сгенерированного исключения */ private void WorkWithExc(ConnectionException ex) { UI.RemoveClientFromList(ID); server.NotifyAllClientsAboutUserLeft(ClientName, ID); server.RemoveConnection(ID); }