Netzwerkanwendung

Für allgemeine Fragen zur Programmierung mit PureBasic.
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Netzwerkanwendung

Beitrag von derschutzhund »

Hallo Nic,

ich arbeite mit einem eigenen Puppy-Linux und da gibt es keine Anmeldung mit Namen sondern man arbeitet immer als root!
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Netzwerkanwendung

Beitrag von NicTheQuick »

Naja, wem's gefällt. ;) So ein Linux käme mir jedenfalls an keine Netzwerkdose.
Was ich meinte, wäre allerdings ein Sambaserver, der dann auf dem Puppylinux läuft. Oder nutzen die Schüler auch alle Puppylinux? Dann könnte man jedenfalls virtuelle User erstellen. Das reicht doch schon.
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Netzwerkanwendung

Beitrag von derschutzhund »

Alle SchülerPCs sind inzwischen auf Puppy-Linux umgestellt.
Sonst hab ich nur noch einzelne XPs im Einsatz, aber eigentlich nur für irgendwelche Sonderfälle.
Über Samba hatte ich mal kurz nachgedacht, es dann aber wieder verworfen weil mir der Einstieg doch viel komplizierter erschien! In mein Puppy-Linux habe ich auch eine automatische Wartungsfunktion eingebaut die beim shutdown des SchülerPCs ein Verzeichnis auf einem Lehrer-XP-Rechner kontrolliert und alle neueren Dateien automatisch auf die eigene Festplatte kopiert. Dabei mounte ich dann ein Verzeichnis des XP (ntfs) in das System des PuppyPCs das klappt super. Komischerweise habe ich es nicht geschafft ein Verzeichnis eines anderen PuppyPCs über das LAN zu mounten was ja auch auf jeden Fall gehen sollte. Das war eigentlich mein erster Ansatz für die Netzwerkanwendung. Als das nicht funktioniert hat bin ich auf das SimpleHTTPServerWithUpload.py gekommen.

Edit: Mit folgender Zeile kann ich ein Verzeichnis vom XP-Rechner in Puppy mounten:

Code: Alles auswählen

mount-FULL -t cifs //192.168.178.21/linuxwartung /mnt/update -o username=test,password=test
Das funktioniert aber sinngemäß nicht mehr wenn ich versuche z.B. das Verzeichnis /root/TAUSCH vom SchülerPC auf meinem Puppy-PC zu mounten. Beide PCs verwenden übrigens ntfs-Partitionen.
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Netzwerkanwendung

Beitrag von derschutzhund »

Hallo zusammen,

kann mir jemand einen Tipp geben wie ich aus PB heraus Dateien auf den SimpleHTTPServerWithUpload-de uploaden und downloaden kann?

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
Sicro
Beiträge: 968
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Netzwerkanwendung

Beitrag von Sicro »

Fassen wir mal zusammen, was du an Funktionen brauchst:
  • Verzeichnisse von den Schüler-PCs auflisten und durch diese navigieren
  • Dateien zwischen den Schüler-PCs und deinem PC hin- und herschieben
  • Befehle an die Schüler-PCs senden, z. B. um die PCs herunterzufahren
Für die ersten zwei Punkte bietet sich die Lösung per FTP-Kommunikation an:
  • Auf den Schüler-PCs läuft jeweils ein FTP-Server (z. B. FileZilla Server)
  • Auf deinem PC läuft ein FTP-Client, das du selber mit den PB-FTP-Funktionen programmiert hast
Nachteil:
Befehle (z. B. zum PC herunterfahren) kannst du nur umständlich mit einer Befehle-Datei und einem Programm realisieren, das auf den Schüler-PCs ebenfalls laufen muss, nach einer Befehle-Datei Ausschau hält und bei Existenz einer solchen Datei, die enthaltenen Befehle ausführt. So machst du das ja bereits, wie ich mitbekommen habe.

Mit Python-Script "SimpleHTTPServerWithUpload" auf jedem Schüler-PC, sieht die Sache wie oben mit der FTP-Variante aus. Nur greifst du hier statt mit einem eigenem FTP-Client mit dem eigenem HTTP-Client auf die Schüler-PCs zu. Der Nachteil ist somit auch hier vorhanden.

Die beste Lösung meiner Meinung nach, wäre es, du bastelst dir ein eigenen Server und einen eigenen Client. So lassen sich alle Voraussetzungen, ohne Umwege (Befehle-Datei statt die Befehle direkt zu senden), erreichen.
Fertige Codes, die einfache Funktionen zum Senden von Dateien und Strings bieten, finden sich im Forum (z. B. EasyNetworkManager und Simple Network). Demnächst werde ich ebenfalls solch einen Code veröffentlichen.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Netzwerkanwendung

Beitrag von derschutzhund »

Die beste Lösung meiner Meinung nach, wäre es, du bastelst dir ein eigenen Server und einen eigenen Client. So lassen sich alle Voraussetzungen, ohne Umwege (Befehle-Datei statt die Befehle direkt zu senden), erreichen.
Fertige Codes, die einfache Funktionen zum Senden von Dateien und Strings bieten, finden sich im Forum (z. B. EasyNetworkManager und Simple Network). Demnächst werde ich ebenfalls solch einen Code veröffentlichen.
Alles richtig was du schreibst! Vielleicht eine Sache die mir in der letzten Woche aufgefallen ist.
Jeder registrierte Schüler sollte ein Speicherverzeichnis auf dem LehrerPC bekommen. Die Zuordnung erfolgt über eine Kennung die am SchülerPC abgefragt wird. Sie besteht aus den ersten beiden Buchstaben des Vornamens und des Nachnamens + Geburtstag.
Beispiel: Max Mustermann 05.06.2005 -> mamu05062005
Die PCs lassen sich auch ohne diese Kennung starten, allerdings hat der user dann kein Speicherverzeichnis.
Dafür wäre es ideal wenn der "ZentralPC" für jede Kennung ein Verzeichnis hätte das dann einfach auf dem SchülerPC gemountet wird. Damit würde schon fast die gesamte Datei Hin- und Herschieberei von selbst laufen.
Konnte man soetwas bei deinem code noch einbauen?
Wann hast du mal was zum Testen???

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
Sicro
Beiträge: 968
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Netzwerkanwendung

Beitrag von Sicro »

Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Antworten