Seite 2 von 6 Erste 1234 ... Letzte
  1. #11
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Zitat Zitat von Bizzi Beitrag anzeigen
    die GUI gefaellt mir. schoen umgesetzt!
    Wenn man auf Stabilität setzt, ist eine Console deutlich besser. Meine lief mehrere Wochen permanent durch, mit einer GUI hatte ich durchaus schlechtere Erfahrungen.

    Außerdem ist der Bot nicht für normale botgeile Nutzer bestimmt, deswegen ist zusätzlich eine schöne Oberfläche nicht erforderlich.

  2. #12

    Registriert seit
    19.12.2011
    Beiträge
    356
    Thanked 164 Times in 101 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Ja Diebspiel wenn man keine GUI ordentlich programmieren kann, dann kommt es da natürlich zu Problemen
    Ordentlich programmieren und auch dann läuft sowas mit GUI ohne Probleme lange

  3. #13
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Wie kann man nur so wenig Ahnung haben.

    Du meinst also ernsthaft, eine GUI ist von der Performance (inkludiert RAM Verbrauch) performanter oder mindestens genau gleich wie eine Konsole?

    Völlig egal! Dann gibt ja noch mein zweites Argument, nämlich das sie in diesem Fall nicht nötig ist.

  4. The Following 3 Users Say Thank You to Diebspiel For This Useful Post:

    Fif (03.01.2012), HashTree (01.02.2012), Sq252 (03.01.2012)

  5. #14

    Registriert seit
    19.12.2011
    Beiträge
    356
    Thanked 164 Times in 101 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Nein, aber die 4mb ram und 3millionen ops tun einem PC nicht weh^^
    zumindest was STABILITÄT angeht^^

  6. #15
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 498 Times in 240 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Habt ihr nicht gerade noch von Stabilität gesprochen?
    Naja. Bei mir war irgendwann der Input vom Server null und dann hat die KLib versagt. Kann aber auch mein Fehler gewesen sein, ich werde das die nächsten Tage einmal mit Java realisieren.
    MfG
    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  7. #16

    Registriert seit
    19.12.2011
    Beiträge
    356
    Thanked 164 Times in 101 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Deswegen wunder ich mich, warum Diebspiel mit der Argumentation Performance kommt wenn wir über Stabilität reden^^

  8. #17
    Avatar von uncopyable
    Registriert seit
    19.11.2011
    Beiträge
    282
    Thanked 235 Times in 120 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Zitat Zitat von Mentos Beitrag anzeigen
    Habt ihr nicht gerade noch von Stabilität gesprochen?
    Naja. Bei mir war irgendwann der Input vom Server null und dann hat die KLib versagt. Kann aber auch mein Fehler gewesen sein, ich werde das die nächsten Tage einmal mit Java realisieren.
    MfG
    Also sobald die Quiz Runde beendet ist loggt sich der Crawler aus.
    Sollte die Brige (jawa.exe) noch laufen wird sie gekillt.

    2 Minuten vor der nächsten Quiz Runde loggt sich der Bot mit einer neuen Instanz der KLib ein.

    So hab ich es gemacht läuft auch ganz gut bis jetzt.


    while( behappy() ) { code(); }

  9. #18
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 498 Times in 240 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Zitat Zitat von uncopyable Beitrag anzeigen
    Also sobald die Quiz Runde beendet ist loggt sich der Crawler aus.
    Sollte die Brige (jawa.exe) noch laufen wird sie gekillt.

    2 Minuten vor der nächsten Quiz Runde loggt sich der Bot mit einer neuen Instanz der KLib ein.

    So hab ich es gemacht läuft auch ganz gut bis jetzt.
    Hatte ich auch so:
    PHP-Code:
    static void autoLoginOut()
            {
                
    System.Threading.Thread.Sleep(1000 15);
                
    int random = new Random().Next(1000 3);
                
    String nickname null;
                
    String password null;
                while (
    true)
                {
                    
    int minute DateTime.Now.Minute;
                    if (
    nickname == null)
                    {
                        try
                        {
                            [
    NICKNAMEN]
                        }
                        catch (
    Exception x)
                        {
                            
    nickname null;
                        }
                    }
                    if (!
    isLoggedIn && (minute 58 || minute || (minute 29 && minute 40)))
                    {
                        
    //String nickname = getRandomNickname();
                        //String password = nickNames[nickname];
                        
    try
                        {
                            
    Console.WriteLine(">> LOGGING IN WITH {0}!"nickname);
                            
    System.Threading.Thread.Sleep(random);
                            
    qc = new QuizClient();
                            
    qc.Connect(KNLib.RemoteEndpoint.DE"218.104.55.28"1080);
                            
    qc.Login(nicknamepassword"Quiz");
                            
    System.Threading.Thread.Sleep(5000);
                            
    qc.joinAllChannels();
                            
    isLoggedIn true;
                        }
                        catch (
    Exception x)
                        {
                            
    nickname null;
                            
    isLoggedIn false;
                        }
                    }
                    else if (
    isLoggedIn && (minute == 15 || minute == 45))
                    {
                        
    Console.WriteLine(">> LOGGING OUT!");
                        
    System.Threading.Thread.Sleep(random);
                        
    qc.Disconnect();
                        
    isLoggedIn false;
                        
    nickname null;
                    }
                    
    System.Threading.Thread.Sleep(1000 60);
                }
            } 
    Als das nicht ging, habe ich es so gemacht:
    PHP-Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Diagnostics;
    using System.Net;

    namespace 
    RunCollector
    {
        class 
    Program
        
    {
            private static 
    bool isLoggedIn false;
            static 
    void Main(string[] args)
            {
                foreach (
    Process p in Process.GetProcesses())
                {
                    if (
    p.ProcessName.StartsWith("QuizColl")) // So hieß das Prgm.
                    
    {
                        
    p.Kill();
                    }
                }
                
    killShit();
                
    System.Threading.Thread tr = new System.Threading.Thread(autoLoginOut);
                
    tr.Start();
            }

            private static 
    void killShit()
            {
                foreach (
    Process p in Process.GetProcessesByName("javaw"))
                {
                    
    p.Kill();
                }
            }

            static 
    void autoLoginOut()
            {
                
    System.Threading.Thread.Sleep(1000 15);
                
    int random = new Random().Next(1000 3);
                
    String nickname null;
                
    String password null;
                while (
    true)
                {
                    
    int minute DateTime.Now.Minute;
                    if (
    nickname == null)
                    {
                        try
                        {
                              [...]
    NickNamenHandling
                        
    }
                        catch (
    Exception x)
                        {
                            
    nickname null;
                        }
                    }
                    if (!
    isLoggedIn && (minute 58 || minute || (minute 29 && minute 40)) && nickname != null)
                    {

                        try
                        {
                            
    Console.WriteLine(">> LOGGING IN WITH {0}!"nickname);
                            
    System.Threading.Thread.Sleep(random);
                            
    Process proc = new Process();
                            
    proc.StartInfo.FileName "QuizCollectiong";
                            
    proc.StartInfo.Arguments String.Format("{0} {1}"nicknamepassword);
                            
    proc.StartInfo.UseShellExecute false;
                            
    proc.Start();

                            
    qc.Connect(KNLib.RemoteEndpoint.DE"218.104.55.28"1080);
                            
    qc.Login(nicknamepassword"Quiz");
                            
    System.Threading.Thread.Sleep(5000);
                            
    qc.joinAllChannels();*/
                            
    isLoggedIn true;
                        }
                        catch (
    Exception x)
                        {
                            
    nickname null;
                            
    isLoggedIn false;
                        }
                    }
                    else if (
    isLoggedIn && (minute == 15 || minute == 45))
                    {
                        
    Console.WriteLine(">> LOGGING OUT!");
                        
    System.Threading.Thread.Sleep(random);
                        foreach (
    Process p in Process.GetProcesses())
                        {
                            if (
    p.ProcessName.StartsWith("QuizColl"))
                            {
                                
    p.Kill();
                            }
                        }
                        
    killShit();
                        
    isLoggedIn false;
                        
    nickname null;
                    }
                    
    System.Threading.Thread.Sleep(1000 60);
                }
            }

        }

    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  10. #19

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Ich weiß auch nicht warum eine GUI eher abkacken sollte als eine Konsole. Man muss halt darauf achten richtig zu synchronisieren wenn man aus mehreren Threads auf die GUI, welche vom Main-Thread ausgeführt wird, zugreift.
    Den einzigen Vorteil den ich bei einer Konsole sehe ist, dass man sie auf einen Server laufen lassen kann ohne einen Desktop zu installieren. Und den Speicher den man spart, das sind aber wirklich nur ein paar MB.

  11. #20

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: KQC - Knuddels Quiz Crawler v0.1 Beta

    Gut hier muss man noch unterscheiden zwischen Stabilität und Performance.

    Natürlich ist die reine Konsolenanwendung nicht so performance-lastig wie eine Anwendung mit GUI. Kommt auch immer auf den Einsatzzweck an.

    Die Stabilität war ja auch eher auf die Lauffähigkeit bezogen. Beispielsweise wie lange die Anwendung läuft bis se abschmiert.

    Mentos hatte glaube ich weiter oben etwas geschrieben, dass er immer probleme hatte, dass die Anwendung nach 7-8 Stunden abgeschmiert ist..

    Meine vermutung ist, dass es an der connection liegt.

    Ich habe für Knugle auch eine komplette crawl-architektur geschrieben gehabt. Wenn du nicht ganz genau alles abstimmst, kann es sein, dass nicht rechtzeitig offene verbindungen geschlossen werden.

    Das Problem was ich früher mal hatte (und was auch bei dir evtl. der fall ist), dass nachher soviele connections nicht beendet wurden, und dadurch einen overflow passiert sein könnte. Stell dir vor du hast 7126325 Millionen verbindungen offen ^^ Natürlich kann ein Rechner/Server nicht so viele Ports belegen. Irgendwann ist alles dicht und alle ports sind belegt. Bei einem Test hatte ich dadurch sogar den kompletten rootserver lahmgelegt, da er keinerlei verbindungen mehr ein und aus gehen konnten.

Seite 2 von 6 Erste 1234 ... Letzte

Ähnliche Themen

  1. [BETA-Release] ProReg Knuddels Registrationsbot
    Von DMW007 im Forum Knuddels Registrationsbots
    Antworten: 1
    Letzter Beitrag: 23.05.2012, 12:14
  2. [Release] UHandy - Knuddels Handybot BETA
    Von DMW007 im Forum Knuddels StayOnline Bots
    Antworten: 0
    Letzter Beitrag: 29.02.2012, 21:27
  3. beta.vodafone.de Knuddels-Login Problem
    Von Suchty im Forum Fragen & Probleme
    Antworten: 2
    Letzter Beitrag: 15.01.2012, 04:41
  4. [C#] Knuddels Online Nicks Crawler
    Von Brainy im Forum Sourcecode
    Antworten: 0
    Letzter Beitrag: 25.07.2011, 19:40
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.