AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem: IRC + TClientSocket
Thema durchsuchen
Ansicht
Themen-Optionen

Problem: IRC + TClientSocket

Ein Thema von Struwl · begonnen am 2. Mär 2004 · letzter Beitrag vom 29. Okt 2004
Antwort Antwort
Struwl

Registriert seit: 30. Okt 2003
6 Beiträge
 
Delphi 6 Enterprise
 
#1

Problem: IRC + TClientSocket

  Alt 2. Mär 2004, 10:05
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] 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.
[onRead] ist das Ereignis des TClientSocket

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:
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;
Und in der RFC 1459 steht, dass man zum registrieren die Befehle PASS, NICK und USER braucht (in der Reihenfolge)

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:
http://www.delphipraxis.net/internal...&highlight=irc

tia, Struwl

//Edit:
Jetzt scheint es zu gehen .. ich hab nichts verändert, aber ich hatte jtzt meinen IRC-Client zu
Aber warum kann ich nicht nochmal zu einem IRC-Server verbinden, wenn IRC schon offen ist ?
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#2

Re: Problem: IRC + TClientSocket

  Alt 2. Mär 2004, 10:26
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
Mario
  Mit Zitat antworten Zitat
Struwl

Registriert seit: 30. Okt 2003
6 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Problem: IRC + TClientSocket

  Alt 2. Mär 2004, 10:37
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
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: Problem: IRC + TClientSocket

  Alt 2. Mär 2004, 10:42
jo, das server passwort, nicht das für deinen nick.
und quakenet verlangt kein server pw
Mario
  Mit Zitat antworten Zitat
GaP

Registriert seit: 29. Okt 2004
2 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Problem: IRC + TClientSocket

  Alt 29. Okt 2004, 02:39
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz