Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IRC mit TClientSocket reconnected nicht? (https://www.delphipraxis.net/47907-irc-mit-tclientsocket-reconnected-nicht.html)

Thehandyplanet 17. Jun 2005 17:38


IRC mit TClientSocket reconnected nicht?
 
Hallo,

ich kriegs einfach nicht hin, dass mein "IRC-Bot" nach einem Disconnect (z.B. 24h dissi) automatisch reconnected. OnError und OnDisconnect habe ich beides probiert - sogar nen 5 Sekunden Delay zwischen .Active:=false; und .Active:=true; gemacht. Habs auch mit .Close; und .Open; probiert - nichts geht, aber warum?

Bitte um Hilfe,
vielen Dank schonmal,
Thehandyplanet.

Pseudemys Nelsoni 17. Jun 2005 18:09

Re: IRC mit TClientSocket reconnected nicht?
 
Ich kann dir nur sagen, das es bei mir problemlos geht. (OnDisconnect)

Thehandyplanet 17. Jun 2005 18:33

Re: IRC mit TClientSocket reconnected nicht?
 
Zeig mir bitte mal deinen Code, hmm, kann ja net sein dass es nur bei mir so ist.

Mein Code:

Code:
procedure TDummy.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  ClientSocket1.Close;
  Delay(5000);
  ClientSocket1.Open;
end;
Danke,
Thehandyplanet.

Thehandyplanet 17. Jun 2005 19:39

Re: IRC mit TClientSocket reconnected nicht?
 
Was eventuell noch zu erwähnen wäre -> er soll auch bei Excess Flood reconnecten :)

Pseudemys Nelsoni 17. Jun 2005 20:41

Re: IRC mit TClientSocket reconnected nicht?
 
Hallo Thehandyplanet,

bei einem "richtigen" Disconnect wie er beim Excess Flood stattfindet, endet ganz normal im "OnDisconnect", andernfalls, z.b wenn das kabel getrennt wird etc, landet es im OnError.

Thehandyplanet 17. Jun 2005 21:49

Re: IRC mit TClientSocket reconnected nicht?
 
Hmm.. schau mal bitte meinen Code an und vergleiche ihn dann mit deinem.

//übrigens: Ich hatte den Code auch schon in OnDisconnect UND onError :(

Danke,
Thehandyplanet

Pseudemys Nelsoni 18. Jun 2005 13:22

Re: IRC mit TClientSocket reconnected nicht?
 
Moin Thehandyplanet,

das "Close;" ist auf jeden Fall falsch, denn wenn "OnDisconnect" aufergrufen wird, ist der Socket bereits geschlossen.

Das das "Open;" nicht funktioniert, könnte daran liegen, dass es im OnDisconnect ist, d.h solange das "Socket" Objekt noch nicht freigegeben ist, geht das Open nicht. Im "OnShow" z.b kann man ja auch kein "Hide;" usw ausführen ;).
Ich weiss nicht ob es so ist, aber es müsste so sein. in Meinem COde führe ich keinen Connect direkt nach nem Disconnect aus, habe die Frage wohl nur halb gelesen oben :oops: .

Wenn das o.g der Fall sein sollte, dann bringt auch dein Delay nichts, da es sein kann, das die "OnDisconnect" prozedur erst verlassen werden muss bevor du open aufrufen kannst.

Thehandyplanet 18. Jun 2005 13:46

Re: IRC mit TClientSocket reconnected nicht?
 
Sozusagen, onDisconnect ne andere Prozedur aufrufen?

Pseudemys Nelsoni 18. Jun 2005 13:51

Re: IRC mit TClientSocket reconnected nicht?
 
Das Problem dabei ist, das wenn du von der Prozedur aus eine andere aufrufst, das diese sich erst beendet nachdem die aufgerufene zuende ist.

Thehandyplanet 18. Jun 2005 13:57

Re: IRC mit TClientSocket reconnected nicht?
 
Hmm, zeig doch bitte mal dein OnDisconnect-Code, ich kriegs auch mit ner Prozedur nicht hin. Und zu deinem letzten Post -> Eventuell ein Thread? (BeginThread)

//Edit: ahahahaha, wie geil! Wenn ich den reconnect in nem Thread starte gehts!! DANKE DIR!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.
Seite 1 von 2  1 2      

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