Servus liebe vb-Community.
Ich habe aufbauend auf einem Multiserver Tutorial in diesem Forum einen eigenen Multiserver geschrieben bzw. das Grundgerüst erweitert. Er verfügt über Benutzer, eine Passwortabfrage, einen Dateistream u.s.w.
Bis jetzt lief alles Super nur folgendes Problem kann ich nicht lösen.
Um alle Benutzer die im Server eingeloggt sind anzuzeigen habe ich folgende Funktion geschrieben:
Diese zeigt mir perfekt an welche User in meiner liste vorhanden sind.
Das Problem ist nun das mir auch User angezeigt werden die sich schon Ausgeloggt haben. Daraufhin habe ich nachdem verlassen des users "list.remove(con)" eingefügt um die Verbindung zu löschen. Das funktioniert aber nicht.
Die Verbindung bleibt trotzdem in der Liste und wenn ich mich mehrmals ein und wieder auslogge sehe ich sachen wie: "Die Benutzer: Max, Peter, Sabrina, Max, Max, Max sind online".
Ich hoffe die von mir zur verfügung gestellten Informationen sind ausreichend, ich bedanke mich jetzt schon für jegliche Art von Hilfe.
Ich habe aufbauend auf einem Multiserver Tutorial in diesem Forum einen eigenen Multiserver geschrieben bzw. das Grundgerüst erweitert. Er verfügt über Benutzer, eine Passwortabfrage, einen Dateistream u.s.w.
Bis jetzt lief alles Super nur folgendes Problem kann ich nicht lösen.
Um alle Benutzer die im Server eingeloggt sind anzuzeigen habe ich folgende Funktion geschrieben:
Diese zeigt mir perfekt an welche User in meiner liste vorhanden sind.
Das Problem ist nun das mir auch User angezeigt werden die sich schon Ausgeloggt haben. Daraufhin habe ich nachdem verlassen des users "list.remove(con)" eingefügt um die Verbindung zu löschen. Das funktioniert aber nicht.
VB.NET-Quellcode
- Catch ex As System.Net.Sockets.SocketException
- Console.WriteLine(con.nick & " hat den Channel verlassen.")
- My.Computer.FileSystem.WriteAllText(FilePath, con.nick & " hat den Channel verlassen" + vbNewLine, True)
- SendToAllClients(con.nick & " hat den Channel verlassen")
- con.u = False
- SendToAllClients(con.u)
- con.uploadname = "."
- SendToAllClients(con.uploadname)
- list.Remove(con)
Die Verbindung bleibt trotzdem in der Liste und wenn ich mich mehrmals ein und wieder auslogge sehe ich sachen wie: "Die Benutzer: Max, Peter, Sabrina, Max, Max, Max sind online".
Ich hoffe die von mir zur verfügung gestellten Informationen sind ausreichend, ich bedanke mich jetzt schon für jegliche Art von Hilfe.