mit TClientSocket zum IRC connecten



  • Hallo alle,

    ich versuche einen BOT fürs IRC zu schreiben, ist mein erster Kontakt mit Sockets. Als erstes habe ich mit dem IRC-Protokoll auseinander gesetzt und auch die RFC 1459 gelesen, nicht das nur der Verweis von euch auftaucht. 😉
    Um die Anmeldung zu testen, habe ich es mit Telnet per Hand versucht und es klappt auch alles wunderbar. Im Builder versuche ich das gleiche dann mit der TClientSocket-Komponente:

    ClientSocket1->Host = "irc.quakenet.org";
      ClientSocket1->Port = 6667;
      ClientSocket1->Active = true;
    

    In der OnRead-Methode hab ich folgendes:

    void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
          TCustomWinSocket *Socket)
    {
      ListBox1->Items->Add(Socket->ReceiveText());
    }
    

    Wenn ich nun connecte, erhalte ich folgende Ausgabe:
    NOTICE AUTH :*** Looking up your hostname
    NOTICE AUTH :*** Checking Ident
    NOTICE AUTH :*** Found your hostname

    Wenn ich jetzt den Befehl "NICK bais\r\n" sende

    ClientSocket1->Socket->SendText("NICK bais\r\n");
    

    müßte ich doch eigentlich einen PING zurück bekommen, auf den ich mit PONG antworten muß. Wie gesagt, mit Telnet klappt das wunderbar, nur nicht im Builder.

    Habe ich irgendwas bei der TClientSocket-Komponente vergessen?

    Danke für eure Hilfe.



  • Kann das Problem nicht nachvollziehen...

    -junix

    EDIT: Normalerweise verwendet man die Connect/Disconnect-Methoden um zu verbinden...



  • Danke, hat sich erledigt.
    Hatte den String zum Senden aus einer Edit-Komponente genommen und vergessen das "\r\n" ranzuhängen...

    *kopfaufdentischhau*


Anmelden zum Antworten