![]() |
Indy FTPServer Rückwärzverbinden
Ok, ihr werdet mich jetzt wahrscheinlich für ziehmlich bescheuert halten, aber besteht die Möglichkeit mit dem Indy-FTP ne "Rückwärzverbindung" aufzubauen ???
Quasi das ich mit dem TidFtpClient.Socket.Binding.Irgendwas nen port auf mache und auf listen setzte und der TidFtpServer dann den client connected ??? mfg TuXX |
Re: Indy FTPServer Rückwärzverbinden
Warum heißt die eine Komponente eigentlich Client und die andere Server? Irgend eine Bedeutung muss das doch haben? :?
|
Re: Indy FTPServer Rückwärzverbinden
Ja Danke das weiss ich auch,
aber besteht rein theoretisch die Möglichkeit das irgendiwe zu muxxen? Eine Antwort wie: Nein geht auf gar keinen Fall würde mir ja Reichen ! mfg TuXX |
Re: Indy FTPServer Rückwärzverbinden
Ich frage mal andersherum, wozu benötigst du das ?
Gruß Hagen |
Re: Indy FTPServer Rückwärzverbinden
Hallo TuXX,
ich weiß ja nicht was Du vorhast. Aber schau Dir doch mal die Eigenschaft "Passive" an. Zitat:
|
Re: Indy FTPServer Rückwärzverbinden
@Duffy: Das hat nichts mit der Frage von TuXX zu tun, da auch in diesem Fall die Verbindung durch den Client gestartet wird.
@TuXX: So einfach geht das nicht. Aber wie Hagen schon fragte, was willst Du erreichen? ...:cat:... |
Re: Indy FTPServer Rückwärzverbinden
@Sakura Erst einmal Hallo. Bei einer "Passive = False" Verbindung ist es nicht ganz richtig, daß die Verbindung durch den Client gestartet wird. Sie wird duch den Client initiert. Der FtpClient wird dann faktisch zu einem trivalen Server.
Delphi-Quellcode:
Da ich aber nicht weiß, wozu daß Ganze gut ist, war es ja einen Versuch wert.
// Auszug aus: procedure TIdFTP.InternalGet(const ACommand: string; ADest: TStream; AResume: Boolean = false);
if FPassive then begin ... end else begin FDataChannel := TIdSimpleServer.Create(nil); try with TIdSimpleServer(FDataChannel) do begin InitDataChannel; BoundIP := (Self.IOHandler as TIdIOHandlerSocket).Binding.IP; BeginListen; SendPort(Binding); if AResume then begin Self.SendCmd('REST ' + IntToStr(ADest.Position), [350]); {Do not translate} end; Self.SendCmd(ACommand, [125, 150, 154]); //APR: Ericsson Switch FTP Listen; ReadStream(ADest, -1, True); end; finally FreeAndNil(FDataChannel); end; end; bye |
Re: Indy FTPServer Rückwärzverbinden
Also Sinn der Sache ist folgender:
Ich habe einen Kabel-Internetanschluss der Suewag, und diese Helden haben das So gelösst das das Gesammte Süwag Netz ein "Netzwerk" bildet und alle über ein StandartGateWay ins Internet kommen und die so nur eine öffentliche IP-Adresse haben. Einen Antrag auf Forwarding eines Ports haben sie abgelehnt. Ich möchte nun aber einen kleinen FTP-Tausch-Server betreiben, jedoch habe ich keine Öffentliche IP -Ergo kann mich niemdand erreichen. Ich wollte jetzt nach einer möglichkeit suchen, einen FTP-Server zu basteln der die Verbindung mit den Clients aufnimmt.. Ich hoffe ihr habt jetzt ne ungef. Vorstellung von meinem Prob. mfg TuXX |
Re: Indy FTPServer Rückwärzverbinden
@Duffy: Man lernt ja nie aus. :oops:
...:cat:... |
Re: Indy FTPServer Rückwärzverbinden
Hallo TuXX,
so wie Du es gerade geschildert hast, wird es nicht gehen. Da hat Sakura vollkommen recht. Der FTP Server muß an einem Port lauschen. Das kann er aber dann nur im eigenem Netz. Alle Anfragen von aussen müßten ihm zugestellt werden, also typisches Fowarding. bye |
Re: Indy FTPServer Rückwärzverbinden
Naja Schade eigentlich,danke trozdem
mfg TuXX |
Re: Indy FTPServer Rückwärzverbinden
Zitat:
Beim PASV Kommando öffnet der Server eine zufälligen Port der im Listen Modus ist. D.h. gerade im Passiven Modus verbindet sich der Client bei der Datenconnection so wie es bei der Controlconnection der Fall ist. In diesem Moment würde der Server auf ZWEI Ports als Server agieren und der Client bei beiden Connections als Client auftreten. Im Aktiven Modus ist es so das der Server den Port der Control-Connection initiert, der Client connected darüber zum Server und stellt beim Datendownload einen Data-Port zurVerfügung auf die der Server connected. D.h. im normalen FTP Modus arbeiten beim Datenaustausch der Client und der Server jeweils als Client und Server. Nur im Passiven Modus arbeite der Client vollständig als Client und der Server vollständig als Server. Gruß Hagen |
Re: Indy FTPServer Rückwärzverbinden
Hallo negaH
Zitat:
bye |
Re: Indy FTPServer Rückwärzverbinden
Jo shit, lesen sollte man können :)
Statt "passive=false" habe ich nur "passive" gelesen, es als "passive=true" bzw. "Active=false" interpretiert. Aber nichts für ungut, so haben's ma eben nochmal erklärt :) Ggruß Hagen |
Re: Indy FTPServer Rückwärzverbinden
Hmm da muss ich ma was zu sagen, auch wenn der Thread schon älter ist...
Brauchst nichts neues coden! Nimm ServU oder G6FTP oder was weiss ich, nimm dir n high-port (zwischen 32768 und 65536) und mach auf diesem den Server auf... dann kannst du den Leuten n Zugang machen. Z.B.: name bla, pw blasuelz, ip xx.xx.xx.xx port 40000 ---> ![]() Fertig! Da sollte es auch keine Probleme geben da der high-port Bereich seltenst genutzt wird, hauptsächlich bei Routern! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 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