Einzelnen Beitrag anzeigen

nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: indy9 Beispiel BasicClientServer Server sendet Nachricht an alle Clients

  Alt 29. Sep 2012, 22:22
Im Prinzip ist so eine Endlosschleife richtig, bzw. eine Möglichkeit, Daten abzufragen.

Diese Schleife würde dann aber, ohne getrennte Verarbeitung, wohl ALLE Daten der Kommunikation zw. Client und Server abfangen, also auch die Antworten, die du als Request rausschickst, was einem ziemlich viele Falten auf die Stirn zaubern kann.

Alternativ, statt die Anfragen vom Server aus direkt zu senden, kannst du im Server für jeden Client eine Message-Queue (TIdThreadSafeList) anlegen, in die du die Nachrichten für den jeweiligen Client ablegst. Der Client schickt dann periodisch eine Anfrage á la "Hast du neue Nachrichten?" und der Server antwortet mit der Anzahl der Nachrichten, gefolgt von den Nachrichten selber.

Das wäre die sauberere Vorgehensweise.

Geändert von nuclearping (29. Sep 2012 um 22:26 Uhr)
  Mit Zitat antworten Zitat