![]() |
Problem: IRC + TClientSocket
Hi
Ich habe folgendes Problem: Ich möchte mit einem TClientSocket zu einem IRC-Server verbinden. Allerdings kommt nach dem Verbinden folgendes
Delphi-Quellcode:
[onRead] ist das Ereignis des TClientSocket
[onRead] NOTICE AUTH :*** Looking up your hostname
[onRead] NOTICE AUTH :*** Found your hostname, cached NOTICE AUTH :*** Checking Ident [onRead] PING :285310488 :port80b.se.quakenet.org 451 Struwl Struwl :Register first. Client-Einstellungen: Adress = leer ClientType = ctNonBlocking Host = de.quakenet.org Name = Client Port = 6667 Service = leer Tag = 0 Der Code für das Verbinden steht bei mir in [onClientConnect]
Delphi-Quellcode:
Und in der RFC 1459 steht, dass man zum registrieren die Befehle PASS, NICK und USER braucht (in der Reihenfolge)
const
endl = #13#10; .. Ein Button macht: Client.Open; procedure TfMain.ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin m_log.Lines.Add('[onConnect]'); Client.Socket.SendText('PASS meinPW'+endl); //Hier kann man doch irgendein PW eingeben, oder ? Client.Socket.SendText('NICK Struwl'+endl); Client.Socket.SendText('USER Struwl HIER-STEHT-MEIN-IP de.quakenet.org keiner'+endl); //Client.Socket.SendText('JOIN #test-abcdef'+endl); end; Was habe ich falsch gemacht ? Könnte es an meinem Router liegen ? (mIRC Client funktioniert - nur DCC nicht ) Und bitte keine Posts mit: "Benutz doch IdIRC etc." - ich will TClientSocket benutzen :) P.S. den Thread habe ich mir als Vorbild genommen, aber auch dieser Code funktioniert bei mir nicht: ![]() tia, Struwl //Edit: Jetzt scheint es zu gehen .. ich hab nichts verändert, aber ich hatte jtzt meinen IRC-Client zu :D Aber warum kann ich nicht nochmal zu einem IRC-Server verbinden, wenn IRC schon offen ist ? |
Re: Problem: IRC + TClientSocket
hallo,
es is ganz klar warum das so ist. du gibst ein passwort an für das du noch gar keinen nick hast, deswegen wird da auch ":port80b.se.quakenet.org 451 Struwl Struwl :Register first." stehen. setz mal das NICK vor dem PASS |
Re: Problem: IRC + TClientSocket
So ich glaub den Fehler hab ich jetzt auch gefunden
Ich wollte den Port 6667 2x benutzen *tüdeledü* Warum finde ich eigentlich immer die Fehler, wenn ich in einem Forum um Rat farge ? :| P.S. It is strongly recommended that all server connections have a password in order to give some level of security to the actual connections. The recommended order for a client to register is as follows: Oikarinen & Reed [Page 13] RFC 1459 Internet Relay Chat Protocol May 1993 1. Pass message 2. Nick message 3. User message mfg, Struwl |
Re: Problem: IRC + TClientSocket
jo, das server passwort, nicht das für deinen nick.
und quakenet verlangt kein server pw |
Re: Problem: IRC + TClientSocket
Sorry, dass ich diesen alten Thread jetzt wieder ausgrabe, aber ich habe an der selben "gehangen", bei ein paar Spielen mit der TClientSocket Kompo und einem IRC-Server.
Die "Register first" Nachricht kommt nicht etwa wegen dem gesendeten PASS, sondern vielmehr deswegen, weil der PING nicht beantwortet wurde. Wenn man das erste Connect hinter sich hat, kommt vom Server ein Ping, der in etwa so aussieht: "PING :23856393". Diesen Ping muss man benantworten indem man "PONG :"SelbeZahlwieeben"" zurücksendet und schon ist man fürs erste "registered" und kann nach belieben Channels joinen. :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz