2016-06-26 13 views
0

Dies ist Teil meines Codes.ArrayList entfernen funktioniert nicht?

private static List<Client> clients = null; 

public static boolean disconnectClient(Socket client) 
{ 
    try{ 
     System.out.println("[SYSTEM] : " + client.getInetAddress().getHostAddress() + "was disconnected !!"); 
     clients.remove(client); 

     return true; 
    }catch(Exception e){ 
     e.printStackTrace(); 
     return false; 
    } 
} 

wenn Client getrennt Aufruf dieser Funktion und Drucknachricht

console : "[SYSTEM] : 127.0.0.1was disconnected !!" 

aber clients.size(); ist Rückkehr 1 (0 ist Antwort ...)

Wie kann ich es beheben?

+0

Ihre 'clients' Liste besteht aus 'Client'-Objekten, aber wenn Sie entfernen, wird ein' Socket'-Objekt verwendet und daher ist die ursprüngliche Liste unverändert. –

+0

Oh ... !! Mein bester Fehler LOL –

Antwort

1

Sie übergeben ein Socket-Objekt zum Entfernen(). Aber Ihre Liste besteht aus Client-Objekten. Sie sollten stattdessen ein Clientobjekt übergeben.

Verwandte Themen