C# IP im Chat Bannen.

  • Gut, ich gebe zu ich bin wählerisch..

    Habe mich nun doch dazu entschlossen, die IP Bannfunktion so zu machen, dass bei jedem Login die IP mit dem Text aus einer Datei vergleicht.
    Ist die IP in der Datei, wird diese gelöscht.

    Versuche das so:

    Was ist da falsch? Ich kann mich einloggen obwohl meine IP in der Datei steht..

    // ô.o sry habe i wie nicht auf Bearbeiten gedrückt <.<

    [LEFT][COLOR=Yellow][SIZE=2][FONT=Verdana]mfG.[/FONT][/SIZE][/COLOR]
    [/LEFT]

  • Darf ich wissen, was dieses Konstrukt soll?

    Code
    while ((line = reader.ReadToEnd()) != null) ;


    Das kann iwie keinen Sinn ergeben :D
    Du sagst ihm, er soll ne schleife machen, solange der reader nicht null zurückgibt, wenn er die datei einliest.
    ReadToEnd liest die komplette Datei aufeinmal ein, beginnend an der Stelle, die der Dateizeiger vorgibt. (Bei ner neu geöffneten Datei halt 0, sonst da, wo der Zeiger eben steht)
    Was du brauchst, wäre ReadLine() und das kannste dann mit ner While-Schleife machen und so Zeile für Zeile einlesen.
    Bei ReadToEnd ist eine While-Schleife sinnlos, zumal sie garkeinen Schleifenkörper hat, nur den Kopf.

  • die ReadToEnd methode liest deine komplette Datei ein, beginnend von der Position des Dateizeigers der angibt, wo du dich in der Datei befindest (zB weil du zuerst ein paar andere Dinge ausglesen hast oder so)
    Daher ist diese MEthode eigentlich nicht so gut zum zeilenweise vergleichen, dazu musst du ReadLine() nutzen.
    Und das kannste dann per While-Schlefe nutzen zum Vergleich.
    Was du aber vorallem getan hast, ist eine sinnlose While-Schleife, die nichtmal einen Körper hat, sondern nur den Schleifenkopf.
    Eine While muss so aussehen:
    while ($Bedigung)
    {
    }
    Sie bekommt kein Semikolon, was du aber getan hast.
    Und bei Bedingung kommt das rein, was halt eben dafür sorgen soll, dass die Schleife läuft.

    Ersetz einfach das ReadToEnd durch ReadLine, bau das if IN die Schleife mit ein und es sollte gehen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!