AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TServerSocket Reihenfolg OnClientRead vor/nach OnClientWrite
Thema durchsuchen
Ansicht
Themen-Optionen

TServerSocket Reihenfolg OnClientRead vor/nach OnClientWrite

Ein Thema von loetmann · begonnen am 17. Sep 2006 · letzter Beitrag vom 20. Sep 2006
 
loetmann

Registriert seit: 21. Dez 2003
Ort: Rostock
33 Beiträge
 
Delphi 3 Standard
 
#5

Re: TServerSocket Reihenfolg OnClientRead vor/nach OnClientW

  Alt 19. Sep 2006, 22:54
Hallo flossinger,

das mit dem Bug habe ich unter:
http://www.delphi-forum.de/topic_TSe...ite_64541.html
gelesen, aber nicht weiter verfolgt.

Folgende Reihenfolge habe ich beim Ausprobieren erhalten:
Code:
Server.OnGetSocket       //1.Verbindungswunsch vom Client
Server.OnClientConnect   //2.Client hat sich verbundent, Socket ab hier verfügbar
Server.OnAccept          //3.Verbindung vom Server akzeptiert

Server.OnClientRead      //4.Daten wurden empfangen, können gelesen werden
Server.OnClientWrite     //5.Socket ist beschreibbar, kann auch mal vor Read aufkommen!

Server.OnClientDisconnect //Verbindung zum Client beendet, tritt nach Aufruf von Server.close; auf

Server.OnClientError     //das konnte ich nicht testen
Im OnClientConnect erzeuge ich mir ein Thread, dieser wartet auf Accept, Read, Write wobei bei read die übergebenen Daten eingelesen werden. Danach sende ich meine Antwort zurück. Das klappt auch alles, Theoretisch könnte ich auf ClientWrite und OnAccept verzichten und nur auf OnClientRead warten das die Verbindung ja akzeptiert sein muß um Daten zu erhalten.

Wobei im OnAccept bestimmt selber ernscheinden soll ob ich den Clienten haben will oder nicht.?.

Womit jetzt noch Probleme habe ist wenn den Client sich disconnect (z.B. wenn ich beim Laden im Webbrowser auf Stop oder Reload klicke). Bis mir was besseres über den Weg läuft fange ich die entstehende Exception über AppException ("TServerClientWinSocket Asynchroner Socket-Fehler 10053") ab und lösche meinen Thread und den Socket. Schade ist das hier nicht ein OnClientDisconnect oder OnClientError auftritt....

Ich lese gerade das es noch OnErrorEvent und OnSocketEvent gibt, vielleicht hilft mir das weiter.



Ein Gruß
LM
  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 21:32 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