AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Client disconnecten (als Server)
Thema durchsuchen
Ansicht
Themen-Optionen

Client disconnecten (als Server)

Ein Thema von Pseudemys Nelsoni · begonnen am 4. Nov 2004 · letzter Beitrag vom 4. Nov 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

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

Client disconnecten (als Server)

  Alt 4. Nov 2004, 08:02
moin,

ich schreibe gerade einen ircd, diesem muss man eine mail(warum auch immer) übergeben damit man auch akzeptiert wird, ansonsten sollte man disconnected werden... ich habe das ganze so gemacht:

Delphi-Quellcode:
  if ConArray[ConArrayIdx].email = 'then
  begin
    AClient.SendText(Format('ERROR :Closing Link: %s[%s] (email needed to connect!)', [ConArray[ConArrayIdx].nick, AClient.RemoteHost]) + #13#10); // Nachricht senden
    MeinServer.Socket.Disconnect(AClient.SocketHandle); // Client disconnecten
    FreeUserData(ConArrayIdx); // Den User mit samt den Daten aus dem ConnectionArray löschen
    exit;
  end;
wenn ich nun mit mirc darauf connecte funktioniert es manchmal wie es soll und manchmal auch nicht...

So sieht es aus wenn alles richtig verlaufen ist:

Zitat:
* Connecting to 127.0.0.1 (6667)
Closing Link: pseudemys[localhost] (email needed to connect!)
* Disconnected
aber manchmal sieht es auch so aus:

Zitat:
* Connecting to 127.0.0.1 (6667)
Closing Link: pseudemys[localhost] (email needed to connect!)
* [10053] Software caused connection abort << ?
* Disconnected
oder manchmal sieht man auch die message gar nicht:

Zitat:
* Connecting to 127.0.0.1 (6667)
* [10054] Connection reset by peer
* Disconnected
am mirc liegt es natürlich nicht (denn auf anderen servern geht es natürlich normal...).

also muss der fehler da in meinen 4 zeilen sein... nur wo?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Client disconnecten (als Server)

  Alt 4. Nov 2004, 11:30
Moin,

das Problem an der Sache ist, dass eine Serverseitge Verbindungsunterbrechung genau genommen beim Client nicht sauber durchgeführt wird. Es nicht so, dass dem Client gesagt wird: "Hey, sofort die Verbindung unterbrechen!" oder "Die Verbindung wird jetzt unterbrochen!", sondern sie wird einfach gekappt und fertig. Das wird dann durch eine Exception beim Client angefangen. Deshalb wird für diesen Fall auch kein OnDisconnected-Event beim Client aufgerufen, sondern nur dann, wenn die Verbindung client-seitig beendet wird. Aber wenn vorher eine Nachricht geschickt wurde, ist nicht sicher, dass die Nachricht auch vor der Verbindungstrennung beim Client ankommt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 14:07 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