AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IRC Service

Ein Thema von Cyberaxx · begonnen am 30. Jul 2005 · letzter Beitrag vom 31. Jul 2005
 
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#1

IRC Service

  Alt 30. Jul 2005, 17:33
Hallo,

Ich würde gerne für den IRC einen Service schreiben. Im Moment habe ich das mit einem CLient(IDIRC) geregelt der Override besitzt. Ist allerdings nicht die beste Lösung. Bis dahin fand ich die Indy IRC Komponente auch recht gut. Doch sobald es daran geht das man damit einen Service schreiben will gibt die Komponente auf, denn sie sendet direkt die Client Befehle beim connecten.

Da dachte ich mir probierst es mal mit der Socket Komponente. Es gab ja genug Beispiele dafür. Ich komme auch einigermassen weit bis zu dem Punkt das es ums Ping/Pong spielen geht.

Beim connecten empfange und sende ich folgendes.

Zitat:
Connecting to: 192.168.10.2 [6600]
Looking up...
Connecting to: 192.168.10.2 [6600]
Recive -> Connection established to: HASE_SERVER [192.168.10.2]
Send -> NICK TestBot
Send -> USER Service 192.168.10.10 192.168.10.10 :Wirklicher Name
Recive -> :Lightbow.Home NOTICE AUTH :*** Looking up your hostname...
Recive -> :Lightbow.Home NOTICE AUTH :*** Couldn't resolve your hostname; using your IP address instead
Recive -> :Lightbow.Home NOTICE TestBot :*** If you are having problems connecting due to ping timeouts,
please type /quote pong 5B075E1D or /raw pong 5B075E1D now.
Recive -> PING :5B075E1D
Recive -> :Lightbow.Home 451 Ponghtbow.Home :You have not registered
Es fehlt der Pong. Ich weiss nur nicht warum er ihn nicht sendet.

Delphi-Quellcode:
procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var rec:string;
begin
        rec := socket.ReceiveText ;
        Temp.Lines.Add(rec);
        //Ping Pong
        if (copy(rec,0,4) = 'PING') then
        begin
                Client.Socket.sendtext('Pong' + copy(rec,5,99) + #13#10);

 
        end;
        //Ping Pong End
end;
Ich habs auch überprüft aber er ruft nichtmal die IF Anweisung auf. Ohne das der PONG kommt bekomme ich keine Verbindung. Das zweite was mir aufgefallen ist, wenn ich ausserhalb des Netzwerkes versuche zu verbinden bekomme ich den Socket Fehler 10049(Asynchroner Socket Fehler). Kein Wunder das die meisten eine fertige Komponente bevorzugen. Am liebsten würde ich die Indy KOmponente ummodeln da nur zwei Zeilen geändert werden müssten aber wie ich das dann als neue Koponente registriere habe ich auch keine wirkliche Ahnung von.

Kann mir hier jemand bei helfen?

Gruss Cyb
Daniel
  Mit Zitat antworten Zitat
 


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 23:47 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