Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Auf mehreren Ports gleichzeitig lauschen (https://www.delphipraxis.net/65085-auf-mehreren-ports-gleichzeitig-lauschen.html)

micha453 12. Mär 2006 09:34


Auf mehreren Ports gleichzeitig lauschen
 
Ich arbeite gerade an einem Programm, welches von einem Rechner Textketten über das Netzwerk zu einem Steuerrechner für ein Pick by Lite - System schickt. Das Senden habe ich im Griff. Dabei wird jeder Displaystrang über einen bestimmten Port der Netzwerkverbindung angesprochen ( Strang 0 --> Port 1000, Strang 1 --> Port 1001, Strang 2 --> Port 1002, ...).
Jetzt das Problem: Die Displays können auch Daten über den Steuerrechner zurückgeben. Das geschieht auch wieder über den jeweiligen Port. Habe ich also 3 Strangketten belegt, muss ich auf 3 Ports gleichzeitig lauschen.

Zum Senden verwende ich eine IdTCPClient Komponente. Kann ich damit auf einer variablen Anzahl an Ports lauschen? Oder muss ich für jeden Port eine Komponente einfügen? Gibt es noch eine bessere Variante?

Vielen Dank im Voraus

Corpsman 12. Mär 2006 11:58

Re: Auf mehreren Ports gleichzeitig lauschen
 
Hi,

Ich weis es ist ein wenig unübersichtlich, aber ich habe ein Spiel geschrieben das so was ähnliches auch gebraucht hat.

Der Code der mir die Ports öffnete war .

Delphi-Quellcode:
   
    If IdUDPServer1.active Then IdUDPServer1.active := false; // Abschalten falls das udp doch irgendwie activ ist
    IdUDPServer1.Bindings.Clear; // löschen aller alten Bindings
    H := IdUDPServer1.Bindings.Add; // Hinzufügen von einem
    H.Port := Testingport; // Zuweisen des Testports
    H.IP := Combobox3.text; // Zuweisen der Ipaddresse
    IdUDPServer1.Active := true; // Starten des UDP servers
Testingport war dabei der Port der hier abgehört wurde.

Ich bin mir nicht sicher, aber du müstest eigentlich auch mehrere Adden können.

micha453 12. Mär 2006 12:04

Re: Auf mehreren Ports gleichzeitig lauschen
 
Ich werde es mal probieren! Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 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