Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi [Indy9] Problem mit Portänderung. (https://www.delphipraxis.net/81187-%5Bindy9%5D-problem-mit-portaenderung.html)

Wonderdoc 22. Nov 2006 00:53


[Indy9] Problem mit Portänderung.
 
Hallo liebe Delphi-Gemeinde.

Ich habe ein Problem mit der Portbindung der Indy 9 Serverkomponenten.
Betrifft z.B. TCPServer, UDPServer, HTTPServer.

Ich weise den DefaultPort der Serverkomponente zu und setze den Server danach auf active:=true.
Delphi-Quellcode:
UDPServer.DefaultPort:=Trunc(Optionen_Form.StatusServerPort.Value);
UDPServer.Active:=true;
Nun funktioniert der Server auch so, wie er soll.

Will ich nun den Port des Servers wechsen, setzte ich ihn auf active:=false, weise den neuen Port zu und aktiviere ihn wieder.
Delphi-Quellcode:
UDPServer.Active:=false;
UDPServer.DefaultPort:=Trunc(Optionen_Form.StatusServerPort.Value);
UDPServer.Active:=true;
War die ServerKomponente nun einmal aktiv, wird die Portänderung erst nach einem Neustart der Applikation wirksam.
Obwohl die Komponente den neuen Port zugewiesen bekommen hat, reagiert sie weiterhin auf den alten Port)
(Die Änderung wird z.B. in eine Ini-Datei gespeichert)

Gibt es eine Möglichkeit die Port-Änderung auch im Laufenden Betrieb durchzuführen?
(so dass sie auch sofort greift)


mfg
Wonderdoc

Der_Unwissende 22. Nov 2006 07:12

Re: [Indy9] Problem mit Portänderung.
 
Zitat:

Zitat von Wonderdoc
Gibt es eine Möglichkeit die Port-Änderung auch im Laufenden Betrieb durchzuführen?
(so dass sie auch sofort greift)

Hi und herzlich Willkommen in der DP :dp:

Der Default-Port wird immer dann verwendet, wenn noch kein Binding existiert, also noch kein Port zugewiesen wurde. Das ist natürlich bei jedem Neustart der Fall. Im Betrieb musst du dann über die Bindings zugreifen. Müsste ungefähr (sorry, gerade keine Zeit zum Testen, kannst du aber der Hilfe entnehmen!) IdHttpXXX.Bindings.Items[0].Port sein, hier kannst du dann den neuen Port eintragen. Wie gesagt ungetestet!

Gruß Der Unwissende

Wonderdoc 22. Nov 2006 08:41

Re: [Indy9] Problem mit Portänderung.
 
Delphi-Quellcode:
IdHttpXXX.Bindings.Items[0].Port
Danke, 100 Punkte.

An die Binding habe ich noch gar nicht gedacht gehabt.
Funktionierte auf anhieb.

mfg
Wonderdoc


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