hallo zusammen,
ich bastel an einer client-server kommunikation.
nun frage ich mich, ob es irgendwie möglich ist durch einen tcp-verbundenen client das serverskript aus der ferne neu zu starten?
lg,
finux
server.py durch client.py restarten?
- __blackjack__
- User
- Beiträge: 13241
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
*Irgendwie* sicherlich. Was ist denn der Zweck davon? Und was ist das für ein System? Wie wird der Server gestartet und wer/welcher Dienst überwacht den?
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Konzeptuell ist es nach meinem Verständnis schwer vorstellbar, gleichzeitig eine Verbindung zu halten und einen der beteiligten Prozesse neuzustarten. irgendwie geht, wenn, dann nur, fals du bereit bist, die Verbindung anschließend neu aufzubauen. Das automatische Neustarten kann zum Beispiel durch Methoden, die das Betriebssystem bereitstellt (zum Beispiel systemd unter Linux), realisiert werden, oder durch Basteleien mit mehreren Prozessen, (Doppel)forking etc.
ich möchte in der lage sein ein gerät (befindet sich in weiter ferne) auf welchem ein socket-server programm läuft von mir zu hause aus mit einer client.py zu restarten.
zweck: mögliche server.py-abstürze via restart wieder ins laufen bringen
wie das server-skript letztlich gestartet wird, weiß ich offen gesagt nicht, da hier meine "baustelle" zu ende ist. (projektarbeit) meine aufgabe ist lediglich eine stabile client-server kommunikation via python zu schreiben. eine "überwachung" des serverskript möchte ich auf meiner client.py ebenso ermöglichen
ich hoffe die infos geben etwas aufschluss
zweck: mögliche server.py-abstürze via restart wieder ins laufen bringen
wie das server-skript letztlich gestartet wird, weiß ich offen gesagt nicht, da hier meine "baustelle" zu ende ist. (projektarbeit) meine aufgabe ist lediglich eine stabile client-server kommunikation via python zu schreiben. eine "überwachung" des serverskript möchte ich auf meiner client.py ebenso ermöglichen
ich hoffe die infos geben etwas aufschluss
mir reicht lediglich eine möglichkeit den socketserver neu zu starten. dass ich dann eine neue verbindung aufbauen muss soll hier kein problem seinnezzcarth hat geschrieben: ↑Mittwoch 16. Oktober 2019, 19:05 Konzeptuell ist es nach meinem Verständnis schwer vorstellbar, gleichzeitig eine Verbindung zu halten und einen der beteiligten Prozesse neuzustarten. irgendwie geht, wenn, dann nur, falls du bereit bist, die Verbindung anschließend neu aufzubauen. Das automatische Neustarten kann zum Beispiel durch Methoden, die das Betriebssystem bereitstellt (zum Beispiel systemd unter Linux), realisiert werden, oder durch Basteleien mit mehreren Prozessen, (Doppel)forking etc.
allerdings möchte ich möglichkeiten ausschöpfen, wenn ein restart ausschließlich seitens client.py möglich wäre
Im ersten Post schriebst du von Serverskript, hier nun von Gerät (im Sinne von Hardwareserver?). Was von beiden meinst du denn? Solche Wartungsarbeiten führt man normalerweise durch einen Remotezugang, z.B. per ssh durch. Welches OS läuft denn auf dem Server-System?
ah sry,nezzcarth hat geschrieben: ↑Mittwoch 16. Oktober 2019, 19:19Im ersten Post schriebst du von Serverskript, hier nun von Gerät (im Sinne von Hardwareserver?). Was von beiden meinst du denn? Solche Wartungsarbeiten führt man normalerweise durch einen Remotezugang, z.B. per ssh durch. Welches OS läuft denn auf dem Server-System?
aufbau ist folgender:
kleines gerät (bs ist glaube ich debian), das gerät empfängt daten, die ich später mit einer client.py abrufen möchte
auf diesem gerät läuft meine server.py (python3, socketserver, tcp, ipv4, multithreading, ssl, sha512)
okay, also wenn ein restart mit einer client.py eher schwierig und kompliziert zu lösen wäre, dann wird die wartungslösung der ssh zugang sein
dachte nur, es gäbe vielleicht auch eine "relativ gängige methode" dies mit einer client.py zu erledigen
@Finux: hast Du Dir schon Gedanken gemacht, welches Protokoll Du implementieren willst. Da sollte ja das Neustarten sinnvoll reinpassen; wenn das nur so ein Anhängsel wäre, dann wäre eine getrennte Lösung per ssh sauberer.
ich bin etwas irritiert.. welches protokoll meinst du? ist tcp, ipv4 und ssl kein protokoll? (ich bin nicht wirklich fit in der netzwerkthematik, verzeih, sollte ich mich gerade tierisch dumm darstellen )
Mit tcp, ipv4 und ssl baust Du nur einen Datenstrom auf, damit kann man noch nichts wirklich anfangen, außer Deine Anwendung ist es z.B. unkomprimierte 16bit-Werte mit fixer Rate zu übertragen, wobei das ja auch schon die Definition eines Protokolls ist.