Пример #1
0
        public static void DesconectarCliente(Socket cli)
        {
            var cliente = ClientesConectados.FirstOrDefault(c => c.socket.RemoteEndPoint == cli.RemoteEndPoint);

            ClientesConectados.Remove(cliente);
            Console.WriteLine("El cliente " + cliente.nombreCliente + " se ha desconectado");
        }
Пример #2
0
            /// <summary>
            /// Adiciona o cliente à lista de Clientes conectados e inicia o tratamento de mensagens do mesmo
            /// </summary>
            /// <param name="connectedTcpClient">Cliente a escutar</param>
            private void ListenForClientMessages(TcpClient connectedTcpClient)
            {
                ClientesConectados.Add(new Cliente(connectedTcpClient));
                Console.WriteLine("Utilizadores ligados: " + ClientesConectados.Count);
                Cliente clienteConectado = ClientesConectados.Last();

                while (true)
                {
                    try
                    {
                        MessageHandler(clienteConectado);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("ChatServer: Program.ListenForClientMessages");
                        Console.WriteLine(ex.Message);
                        Console.WriteLine("Um utilizador foi desconectado!");
                        ClientesConectados.Remove(clienteConectado);
                        Console.WriteLine("Utilizadores ligados: " + ClientesConectados.Count);
                        return;
                    }
                }
            }