Kann SFTP im Hintergrund laufen?

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Peter Franz
Junior Member
Junior Member
Posts: 21
Joined: 2003-02-28, 10:45 UTC

Kann SFTP im Hintergrund laufen?

Post by *Peter Franz »

Hallo,

zum Glück gibt es ja nun die Möglichkeit das sftp plugin zu nutzen.
Aus Sicherheitsgründen wurde "bei uns" der normale "ftp" lahmgelegt.
Nun vermisse ich jedoch die schöne Funktionalität einen Transfer im
"Hintergrund" zu starten. Geht das irgendwie?
Schonmal im Voraus vielen Dank für jeden Hinweis!
Peter
User avatar
André Martin
Senior Member
Senior Member
Posts: 245
Joined: 2003-02-05, 15:46 UTC
Location: Dresden, Germany

Post by *André Martin »

Nein - dies ist leider (noch) nicht möglich, da TC es zurzeit nicht zuläßt eigene Threads für Transfers von WFX Plugins anzulegen...
2Christian
Programmiertechnisch wäre dies aber möglich und auch recht interessant, oder!?!
Browse the web with the HTTP SmartBrowserPlugin
Check your mails with the POP3/SMTP EmailPlugin!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das wäre in der Tat möglich für Plugin-Entwickler: Einfach alle FsPutFile und FsGetFile-Befehle abarbeiten OHNE wirklich Dateien zu kopieren, einfach nur die Namen intern merken. Bei FsStatusInfo mit FS_STATUS_END einen Thread erzeugen, welcher dann die Dateien selbständig kopiert. Natürlich ist sowas ziemlich aufwändig zu programmieren, deshalb hat es auch noch niemand eingebaut.
Author of Total Commander
https://www.ghisler.com
User avatar
André Martin
Senior Member
Senior Member
Posts: 245
Joined: 2003-02-05, 15:46 UTC
Location: Dresden, Germany

Post by *André Martin »

2ghisler(Author)
Hm - es wäre doch aber auch möglich, vielleicht auch sogar besser wenn TC einen eigenen Thread anlegt und FsPutFile bzw. FsGetFile aufrufen würde (und den Task mit in den Transfermanager einreihen würde).
Mein Problem ist nämlich folgendes: Es fehlt die Option:
"[X] Im Hintergrund herunterladen" und ich müsste eine eigene Fortschrittsanzeige für den Hintergrundtransfer basteln, daher denke ich, dass es besser wäre wenn die Thread Geschichte von TC ge-mangaged wird, was dann allerdings für dich viel Arbeit bedeutet?!?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Hm - es wäre doch aber auch möglich, vielleicht auch sogar besser wenn TC einen eigenen Thread anlegt und FsPutFile bzw. FsGetFile aufrufen würde (und den Task mit in den Transfermanager einreihen würde).
Das war mir dann doch zu heikel - dazu müsste sichergestellt sein, dass alle Plugins thread-safe sind. Das ist relativ schwer sicherzustellen, deshalb würde es den TC garantiert instabil machen und zu vielen Abstürzen führen.
Es fehlt die Option: "[X] Im Hintergrund herunterladen"
Ja, das müsste man im Plugin global konfigurierbar machen. Es macht ja auch nur bei bei bestimmten Plugins Sinn, wo der Download sehr lange dauert.
Author of Total Commander
https://www.ghisler.com
User avatar
André Martin
Senior Member
Senior Member
Posts: 245
Joined: 2003-02-05, 15:46 UTC
Location: Dresden, Germany

Post by *André Martin »

2ghisler(Author)
...und was hälst du von der Einführung von FSGetPluginCaps (wie die GetPackerCaps für wcx-plugins) mit den folgenden Konstanten:

FS_CAPS_GET_BACKGROUNDTHREAD
FS_CAPS_PUT_BACKGROUNDTHREAD
FS_CAPS_DELETE_BACKGROUNDTHREAD

So würde der Programmieren bestätigen (durch entsprechde Rückgabewerte), dass das Plugin Threadsafe (für Hochladen, Herunterladen...) ist...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Hmm, liesse sich machen - nur ist das eben sehr heikel das wirklich threadsicher hinzubekommen, und es heisst dann natürlich dass TC einen Fehler habe, wenn ein Plugin abstürzt...
Author of Total Commander
https://www.ghisler.com
User avatar
André Martin
Senior Member
Senior Member
Posts: 245
Joined: 2003-02-05, 15:46 UTC
Location: Dresden, Germany

Post by *André Martin »

Hmm - da hast du völlig recht - multithread fähige Anwendungen sind schon ein ganz eigenes Kapitel, aber auch eine ganz interessante Sache und es wäre eine Revolution, wenn das Plugininterface dies auch unterstützen würde...
Aber du kannst dies (die Threadprogrammierung) auch einfacher halber dem Programmierer überlassen, dann müsste das Interface allerdings eine Callbackfunktion für die Hintergrundübertragungsfortschrittsanzeige bereitstellen und wenn im Kopierdialog der Hacken "im Hintergrund übertragen" gemacht wird, dann müsste z.B. FSStatusInfo mit FS_STATUS_OP_GET_SINGLE_THREAD aufgerufen werden, damit das Plugin weiß, das es nun einen eigenen Thread anzulegen hat und diese Operation dort statt im Mainthread auszuführen hat und so weiter... - eine der beiden Möglichkeiten wäre schon recht schön...
Post Reply