[quote=pq,15.08.2003, 01:39]ach ja, noch was zum thema:
mod_perl könnte helfen, da lebt das object nach
dem request noch weiter. weiss nicht, ob das
mit Net::FTP dann geht, aber bei DBI-objekten
klappt das prima.[/quote]
ich versuche gerade, ein testsystem hier bei mir auf mod_perl umzustellen; duerfte aber wohl noch ein paar tage dauern, bis ich es soweit habe...
Hallo,
ich möchte mir einen kleinen WebFTP Client unter Verwendung von Net::FTP bauen.
Dafür habe ich ein Skript, dass mir je nach Parameter, entweder ein bestimmtes Verzeichnis anzeigt, oder Dateien hochläd, etc...
Nun habe ich jedoch das Problem, dass ich mich dauernd neu auf dem Server einloggen muß, da nach jedem Lauf des Skripts auch die Verbindung zum Server beendet wird. Also auch wenn ich nur ein Verzeichnis wechsel oder so.
Schöner wäre es, wenn ich die Verbindung irgendwie im Hintergrund halten könnte und diese dann ggf. nach einem Timeout selbst beende.
Ich habe deshalb versucht, dass ich das ftp Objekt mittels CGI::Session speicher und dann beim nächsten Aufruf des Skripts wieder verwende, allerdings geht dabei der Socket verloren, so dass ich mich trotzdem neu einloggen muß.
Weiß jemand wie ich es nur unter Verwendung von Perl schaffe eine dauerhafte Verbindung zu erzeugen?
Vielen Dank fürs Nachdenken und noch viel Spaß,
FReAK
pq
2003-08-15 03:32
User since 2003-08-04
12209
Artikel Admin1
hast du zitterfinger und gleich 6 mal auf abschicken geklickt oder
haben wir hier einen forums-bug?
ich seh diesen beitrag jedenfalls 6 mal in der übersicht (und hatte
nur ein bier, daran kann's also nicht liegen =)
korriegiere: jetzt sieben mal. wo ist ein moderator?
ach ja, noch was zum thema:
mod_perl könnte helfen, da lebt das object nach
dem request noch weiter. weiss nicht, ob das
mit Net::FTP dann geht, aber bei DBI-objekten
klappt das prima.
wie wärs mit einer art FTP-proxy...
du bastelst dir einen ftp server, den du auf deinem server laufen hast...
anstatt dein ftpwebclient zu veranlassen, sich mit dem ftp server in der welt zu verbinden, verbindet es sich mit deinem ftp-proxy und sagt diesem, was es tun soll.
der ftp-proxy antwortet zum einen mit einer sessionid, zum anderen mit den antworten des ftp-servers in der welt...
solange, der ftpwenclient dem ftp-proxy nicht sagt, dass die sessionid absofort ungültig ist, oder nach einem timeout, schließt der proxy die verbindung nicht...
und wenn der client dem proxy daten schickt, muss er immer diese session id mitschicken....
also ich finde die idee prima! :)
PS: macht auch bestimmt spaß, sowas zu programmieren...
Gast Gast
2003-08-15 12:48
Mit nem Proxy würd es auf jeden Fall gehen, aber ich würd das ganze halt gerne komplett in Perl machen, falls ich es mal auf nen anderen Rechner verschiebe, dann muss ich mich nicht auch noch um den Proxy kümmern.
Perl muss das doch können, Perl kann ja schließlich alles :-)
Strat
2003-08-15 13:54
User since 2003-08-04
5246
Artikel ModeratorIn
Da faellt mir folgende Moeglichkeit ein:
es gibt ein Modul namens HTTP::Daemon, das einen kleinen Webserver in Perl erstellt. Den koennte man mit fork in den Hintergrund leiten, und dann die Verbindungen dorthin weiterleiten.
Dieser Server koennte sich einfach ueber ftp irgendwo anmelden, dann braucht es das Script nicht dauernd machen.
Hi,
klappt das mit fork auch unter Windows?
Ich will ja einen möglichst großebn Einsatzbereich für mein Skript.
Strat
2003-08-15 14:07
User since 2003-08-04
5246
Artikel ModeratorIn
Nein, unter Windows leider nicht, weil da das fork auf Basis von Threads emuliert wird. Du kannst jedoch auch unter Windows ueber system("start parameter programmname") ein neues Script starten, das ist dann so aehnlich wie ein fork...