AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy10 Server OnDisconnect: wie Event synchronisiert werfen
Thema durchsuchen
Ansicht
Themen-Optionen

Indy10 Server OnDisconnect: wie Event synchronisiert werfen

Ein Thema von McMorton · begonnen am 9. Jul 2006 · letzter Beitrag vom 10. Jul 2006
Antwort Antwort
McMorton

Registriert seit: 8. Mär 2006
45 Beiträge
 
#1

Indy10 Server OnDisconnect: wie Event synchronisiert werfen

  Alt 9. Jul 2006, 22:38
Hi.

Ich habe folgende Frage zum TCPServer von Indy 10:

Wenn ein Client die Verbindung beendet wird ja vom Indy Server das OnDisconenct Event geworfen.
In diesem Event erhält man als Übergabewert die TidContext Klasse. In der steht ja welcher Client sich beendet hat (die Portnummer).


Wie kann ich meinem Programm nun mitteilen welcher Client sich beendet hat?


Im Eventhandeler des OnDisconenct Events muss ich das Event an eine andere Unit (Klasse) weiterreichen.

Diesem Event möchte ich nun die Portnummer des Clients mitgeben.
Aber da das OnDisconnect-Event bei Indy aus einem Thread geworfen wird kann ich das Event nur synchronisiert werfen (kann also keine Werte mitgeben).

Nun könnte ich die Portnummer ja einfach in einer Klassenvariablen speichern, über die Klasse von Indy (TIdNotify) synchronisert eine Hilfsmethode aufrufen, und in der dann das Event an die andere Unit werfen (und die Portnummer mitgeben).

Funktioniert soweit auch, aber: wenn sich viele Clients auf einmal beenden kann ich die OnDisconenct Events nicht so schnell abarbeiten.
Die Klassenvarialbe würde also überschrieben bevor ich mit ihr arbeiten kann.

Gibt es da eine vernünftige Lösung?
  Mit Zitat antworten Zitat
Peter Wolf

Registriert seit: 15. Apr 2004
21 Beiträge
 
#2

Re: Indy10 Server OnDisconnect: wie Event synchronisiert wer

  Alt 10. Jul 2006, 07:03
Hallo McMorton,

dann speichere doch in einem Array of TIdContext, dann wird nichts ungewollt überschrieben, oder meinst Du etwas anderes?


Grüße
Peter
  Mit Zitat antworten Zitat
McMorton

Registriert seit: 8. Mär 2006
45 Beiträge
 
#3

Re: Indy10 Server OnDisconnect: wie Event synchronisiert wer

  Alt 10. Jul 2006, 07:13
Hi.
Danke erstmal für die Antwort.

TidContext bekomme ich ja von Indy. Dort kann ich nichts speichern. Ich kann dort nur den Port lesen.
  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:06 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