![]() |
Wie können Sich Clients zu einer Weboberfläche verbinden?
Hallo,
ich habe mal eine etwas komplexere Frage. Dazu vorweg noch eine Anmerkung: Ich habe eine Software, welche 2 Teile hat. Eine Weboberfläche und Clients als Desktopprogramme. Die Clients holen sich Ihre Daten bei jedem Start von der Weboberfläche. Das funktioniert auch sehr gut. Nun möchte ich aber, dass sich die Clients richtig bei der Weboberfläche "anmelden". D.h. ich möchte die Clients nach deren Anmeldung über die Weboberfläche steuern können. Das wäre auch nicht wirklich ein Problem. Das Problem kommt erst auf, wenn die Clients auf den PCs hinter Routern sind! Nun habe ich schon gelesen, dass der Router meinen gewünschten Port freischaltet, wenn die Clients auf diesen Port rausgehen wollen. Dadurch spare ich mir das manuelle Freischalten des Ports. Soweit auch noch kein Problem! Problem: Wie sollen sich die Clients mit meiner Weboberfläche (PHP) auf einem bestimmten Port verbinden? Und müsste nicht eigentlich diese Verbindung sogar während der Client läuft gehalten werden, damit ich ihn steuern und kann und sehen kann wann er nicht mehr aktiv ist? Ich möchte also so eine Art abgespecktes LogMeIn aufbauen. Ich hoffe, ihr könnt mir einigie Tipps / Tricks geben! Vielen Dank im Voraus! Delphi-Coder |
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
also die meisten router sind doch schon recht klug :-)
d.h. wenn du mit deinem programm auf port 80 z.b. dich mit deiner webseite "verbindest" dann hält im normalfall der router die verbindung für eine antwort offen. der router sollte diesen port wieder schließen sobald der client nicht mehr darüber kommuniziert. ich muss gerade gestehen dass mir der genaue begriff für diese technik gerade nicht einfällt. also sobald der client die verbindung aufbaut (und nicht die seite!) sollte es auch keine probleme mit routern geben gruß reli |
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
Danke für die Antwort.
Dann wäre ja noch die Frage zu klären, wie lange der Router diese Verbindung über diesen Port offen hält? Oder ... in welchen Zeitabständen muss der Client einen Request zum Server senden, damit diese Verbindung offen bleibt?! Und wie sende ich dann befehle vom Webmodul (PHP) an den Client?! Im Prinzip kann ich es ja nach obiger Methode gleich so machen, dass die Befehle zwischengespeichert werden und beim nächsten Request des Clients ausgegeben werden. Aber das ist doch nicht sonderlich elegant, oder?! Mal abgesehen von den Verbindungen und dem Traffic, den das erzeugen würde. Der Client soll ja auf mehreren Hundert Rechnern laufen und ich will jeden einzelnen steuern können. Sorry, aber ich fange gerade erst an mich mit diesem Thema zu beschäftigen! Viele Grüße, Delphi-Coder |
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
nunja ich wüsste jetzt nicht dass php aktiv etwas senden könnte...
es wäre nicht schlecht zu wissen was genau kommuniziert wird bzw um was es geht. im normalfall ist aber der client für das aktualisieren der daten verantwortlich - anders wirds nicht gehen. gruß reli |
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
Zitat:
![]() Zitat:
|
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
ok wieder was dazugelernt (php ist nix für mich ^^ )... ja wo is dann das problem?
nimm anstatt udp eine tcp verbindung. die wird dauerhaft offen gehalten. udp ist ja "fire and forget" denke da wird der router irgendwann dicht machen. mit tcp wird ja eine verbindung offen gehalten. damit sollte der router wissen, dass der client mit diesem ziel dauerhaft kommunizieren will und es sollte problemlos laufen. gruß reli |
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
Hmmm...ok. Ich werde mal ein Testprogramm erstellen, um das mal zu testen. Und dann melde ich mich nochmal!
|
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
Also, ich hab jetzt ein bisschen getestet: Ich habe mir eine Delphi-Anwendung erstellt, in der ich mittels IdTCPClient zu meinem Webserver auf Port 80 verbinde. Das funktioniert auch soweit und die Verbindung wird auch gehalten. Aber ich habe nachwievor noch folgende Probleme:
a) Wie kann ich in PHP feststellen, dass der Client verbunden ist? b) Wie kann ich mit PHP diese verbindung nutzen, um den Clients was zu senden? oder / und c) Ist vielleicht die ganze Herangehensweise falsch? Viele Grüße und schönen Sonntag! Delphi-Coder |
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
Such mal nach Ajax
|
Re: Wie können Sich Clients zu einer Weboberfläche verbinden
Mit AJAX habe ich schon öfter gearbeitet. Ich sehe jetzt aber nicht, wie AJAX mir bei meinem Problem helfen kann?!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz