AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Programm über ein Webinterface steuern
Thema durchsuchen
Ansicht
Themen-Optionen

Programm über ein Webinterface steuern

Ein Thema von d7user1 · begonnen am 4. Dez 2013 · letzter Beitrag vom 5. Dez 2013
Antwort Antwort
Seite 1 von 2  1 2      
d7user1
(Gast)

n/a Beiträge
 
#1

Programm über ein Webinterface steuern

  Alt 4. Dez 2013, 21:30
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?

Geändert von d7user1 ( 4. Dez 2013 um 22:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#2

AW: Programm über ein Webinterface steuern

  Alt 4. Dez 2013, 22:12
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#3

AW: Programm über ein Webinterface steuern

  Alt 4. Dez 2013, 22:53
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?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Programm über ein Webinterface steuern

  Alt 4. Dez 2013, 23:37
Wie kommt denn diese Textdatei oder die Änderungen darin auf den Rechner?

Wie willst du verhindern, dass jemand Unbefugtes etwas in diese Datei bringt?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#5

AW: Programm über ein Webinterface steuern

  Alt 4. Dez 2013, 23:56
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.

Geändert von d7user1 ( 5. Dez 2013 um 00:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Programm über ein Webinterface steuern

  Alt 5. Dez 2013, 00:43
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73
Online

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#7

AW: Programm über ein Webinterface steuern

  Alt 5. Dez 2013, 01:17
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.
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#8

AW: Programm über ein Webinterface steuern

  Alt 5. Dez 2013, 09:56
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#9

AW: Programm über ein Webinterface steuern

  Alt 5. Dez 2013, 10:30
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 5. Dez 2013 um 10:34 Uhr)
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#10

AW: Programm über ein Webinterface steuern

  Alt 5. Dez 2013, 12:25
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 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