Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Programm über ein Webinterface steuern (https://www.delphipraxis.net/177905-programm-ueber-ein-webinterface-steuern.html)

d7user1 4. Dez 2013 20:30

Programm über ein Webinterface steuern
 
Hallo, in der Netzwerkprogrammierug bin ich völlig neu. Ich möchte meinem Programm gerne aus dem Internet heraus Befehle senden, welche es dann abarbeiten soll.
Lokal funktioniert das mit der Webserver Application ganz gut. Die Webserver Application ist die vorgefertigte Unit, welche Delphi einem zu Beginn über Datei > Neu > Andere > WebBroker ausgibt.

Folgende Variante funktioniert auch sehr gut: http://www.delphipraxis.net/917127-post14.html

Wie erreiche ich diesen Webserver bzw. wie spreche ich mein Programm nun von außen über das Internet an?
Ist ein Port-Forwarding im Router absolut notwendig, oder gibt es Mittel und Wege ohne?


Edit: ich habe auch schon überlegt das Programm im, keine Ahnung60-Sekunden-Takt bestimmte Dinge prüfen zu lassen.
Dabei könnte eine Textdatei auf einem Server überprüft und ausgewertet werden.
Das ist wesentlich einfacher, da kein Portforwarding usw.

Aber was meint ihr?

himitsu 4. Dez 2013 21:12

AW: Programm über ein Webinterface steuern
 
Wenn ein Router den Port nicht weiterreicht, dann kommt die Anfrage von außen nicht an deinem Coputer an.
Also ja, ein Forwarding ist notwendig. (wenn du dem Router dann nicht im Protokoll mitweilen kannst, an welche IP er weiterleiten soll)

Und wenn du den Computer aus dem weltweiten Internet ansprechen willst, mußt du die öffentliche IP (also die des Internetzugangs/Routers) kennen.
- entweder du hast eine feste IP
- oder irgendwer hinterlegt an definierter Stelle diese IP (DynIP-Server oder eigener Server ... der Router oder der Computer muß dann nur die IP auslesen und an diesen IP-Server weitergeben)

d7user1 4. Dez 2013 21:53

AW: Programm über ein Webinterface steuern
 
Hallo, dementsprechend muss ein Port-Forwarding stattfinden, wenn ich mein Programm aus dem weltweitem Internet ansprechen möchte. OK.

Was hälst du denn von meiner zweitgenannten Lösung?

Sir Rufo 4. Dez 2013 22:37

AW: Programm über ein Webinterface steuern
 
Wie kommt denn diese Textdatei oder die Änderungen darin auf den Rechner?

Wie willst du verhindern, dass jemand Unbefugtes etwas in diese Datei bringt?

d7user1 4. Dez 2013 22:56

AW: Programm über ein Webinterface steuern
 
Zitat:

Wie willst du verhindern, dass jemand Unbefugtes etwas in diese Datei bringt?
Genau daher wollte ich es eigentlich mit dem Port-Forwarding machen.

Ich habe mir auch schon überlegt das mit Upnp zu machen und darüber einen Port im Router zu öffnen.
Aber das ist eher kontraproduktiv da es doch eher gegen den Benutzer ist als für ihn finde ich.

Sir Rufo 4. Dez 2013 23:43

AW: Programm über ein Webinterface steuern
 
Zitat:

Zitat von d7user1 (Beitrag 1238566)
Zitat:

Wie willst du verhindern, dass jemand Unbefugtes etwas in diese Datei bringt?
Genau daher wollte ich es eigentlich mit dem Port-Forwarding machen.

Ich habe mir auch schon überlegt das mit Upnp zu machen und darüber einen Port im Router zu öffnen.
Aber das ist eher kontraproduktiv da es doch eher gegen den Benutzer ist als für ihn finde ich.

Wie denn nun?

Mit oder ohne Portforwarding, du musst dich entscheiden

Olli73 5. Dez 2013 00:17

AW: Programm über ein Webinterface steuern
 
Also ich sehe da folgende Möglichkeiten:

- Portweiterleitung (dann aber https verwenden!)
- VPN
- ein Webserver (https), über den die ganze Kommunikation läuft (dann spart man sich die Konfiguration von Router etc. komplett)
- "Klimmzüge" wie bei manchen Peer-to-Peer-Netzwerken, Skype, ...

Im Falle des Webservers würde ich auch nicht wie du oben schreibst "das Programm im, keine Ahnung60-Sekunden-Takt bestimmte Dinge prüfen zu lassen", sondern Push / Long Polling verwenden.

d7user1 5. Dez 2013 08:56

AW: Programm über ein Webinterface steuern
 
Hallo, das hört sich sehr interessant an. Leider finde ich keinerlei Informationen im Internet diesbezüglich.

Wie in etwa funktioniert das mit dem Polling? Peer to peer, mh. Dazu benötige ich kein Port Forwarding oder?

himitsu 5. Dez 2013 09:30

AW: Programm über ein Webinterface steuern
 
Es gibt nur zwei/drei Arten, wie eine Verbindung zwischen zwei Geräten (deine Computer/Programme) über einen Vermittler (der Router) komunizieren können
- der Router kennt Beide und weiß wo er hinleiten soll (z.B. Forarding von außen, welches auf einen bestimmten Port reagiert) ... die ZielIP ist hier ja der Router und nicht der Computer
- von innen nennt das Programm die Ziel-IP
- von außen wird das via Protokoll mitgeteilt ... quasi ein Proxy und dein Router ist nunmal kein Proxy, außerdem wurde im HTTP 1.x diese Funktionalität noch nicht integriert (geplant für 2.0)

(und die schmutzigen Tricks einiger Programme erwähne ich erst garnicht)



Richte doch einfach das Forwarding ein und gut ist. (manche Router besitzten auch eine Schnittstelle, worüber das Forwarding vom internen Programm angefragt werden kann)

Der andere Weg ist nur, daß der lokale Rechner ständig einen externen Rechner anpollt und schaut ob er da ist, aber dafür braucht man die IP dieses Rechners.

d7user1 5. Dez 2013 11:25

AW: Programm über ein Webinterface steuern
 
Hallo, das Problem ist nur, dass dies für ein öffentliches Programm gedacht ist und nicht nur für mich.

Demnach ist das in Ordnung mit dem port forwarding?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.
Seite 1 von 2  1 2      

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