Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.530 Beiträge
 
Delphi 11 Alexandria
 
#1

Server-Antwort an mehrere Clients senden mit Indy

  Alt 16. Jun 2015, 16:32
Ich habe mal eine Frage zur Optimierung:

Ich habe in einer Client-Server Anwendung die Notwendigkeit, dass der Server eine Nachricht, die er von einem Client erhalten hat (Im OnExeCute-Event einer TidTCPServer-Komponente) an andere Clients im Netzwerk senden muss (mittels einer TidTCPClient-Komponente).

Bislang habe ich das so gemacht, dass in einem Extra-Thread nacheinander die entsprechenden Clients über die TCPClient-Komponente, die ich noch im Programm habe, unterrichtet wurden.

Nun ist es aber heutzutage so, dass zunehmend Clients über WLAN oder Internet mit dem Server verbunden sind. Da gibt es dann schon mal längere Antwortzeiten. Ich muss also einen relativ hohen Connection-Timeout Wert verwenden, um dem Rechnung zu tragen. Dadurch kann die Sache aber u.U. relativ lange dauern, bis alle Clients unterrichtet wurden.

Wäre es eine denkbare Variante, mehrere Threads zu erzeugen, wo dann lokal entsprechende TCPIPClient-Komponenten erzeugt werden und dann jeder einzelne Thread versucht, seine Nachricht zu versenden?

Oder ist das eine schlechte Idee? Evtl. weil es Beschränkungen bei den ausgehenden TCP/IP-Verbindungen pro PC gibt? Dass dann der gleiche Sendeport von mehreren TCPClient-Komponenten verwendet werden müsste, kann doch eigentlich kein Problem sein, oder (im Gegensatz zum Empfang beim Server, da geht das ja nicht)?
  Mit Zitat antworten Zitat