FTP

  • Nabend zusamm.

    Also ich will mir eines kleines Programm machen, um Daten zwischen freunden auszutauschen und bissl zu chatten und so. ^^

    Ich hab mir jetz mit CesarFTP nen FTP Server angelegt.
    Jetz brauch ich nur noch etwas knowhow.

    Ich würd das gern so machen, das ich etwas in z.B. eine eingabebox eingebe und dann abschicke.
    Z.B. Hallo Volker...

    Nun soll eine .ini geschrieben werden, mit Datum, Zeit, und String "Hallo Volker".

    Diese .ini wird dann gleich auf dem FTP Server gespeichert.

    So.
    Das ist ja soweit kein Problem.

    Nun zum Client-Programm, das meine Freunde dann bekommen sollen.

    Dieses soll dann auf diesen FTP Server ( ftp://xxx.xxx.xxx.xxx/ gehn und die dort gespeicherte .ini auslesen.
    Doch wie mache ich das?
    Was brauch ich dazu noch alles?
    Und gibts da net das Problem, dass sich meine IP und damit die Serveradresse ändert?

    Wäre super wenn mit da einer weiter helfen könnte. ;)

    MfG

  • mag nicht die Antwort sein, die du hören willst,
    aber wenn das Client-Programm "nur" die .ini-Datei herunterladen soll, um diese auf dem lokalen Bildschirm anzuzeigen,
    wo bleibt da die Interaktion.???

    Der Client muss doch auch die .ini-Datei erstellen können und auf den Server laden, damit Du diese wieder auslesen kannst.
    Ich an Deiner Stelle würde das Konzept noch mal überdenken.

    Oder ich habe da was falsch verstanden.

    Ansonsten suche mal unter dem Begriff "Messenger"....

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Das elfte Gebot: Du sollst nicht pushen.
    Das zwölfte Gebot: Du sollst haben "Geduld"
    ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Spoiler anzeigen

    Server:

    [autoit]

    #include <GUIConstants.au3>
    #include <FTP_Ex.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=D:\Daten\AutoIt\Koda\Forms\Strings.kxf
    $Form1 = GUICreate("Strings zwischen 2 PC's", 472, 251, 427, 285)
    $Label1 = GUICtrlCreateLabel("Strings austauschen!", 97, 24, 285, 44)
    GUICtrlSetFont(-1, 22, 400, 0, "Comic Sans MS")
    $String = GUICtrlCreateInput("String", 40, 104, 393, 21)
    $Label2 = GUICtrlCreateLabel("Hier den String eingeben:", 40, 80, 124, 17)
    $Absenden = GUICtrlCreateButton("Absenden!!", 152, 152, 169, 65, 0)
    GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $server = '*******'
    $username = '*******'
    $pass = '******'

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Absenden
    $Ausgelesen = GUICtrlRead ($String)
    FileDelete (@TempDir & "\String.txt")
    FileWrite (@TempDir& "\String.txt", $Ausgelesen)
    $Open = _FTPOpen('my FTP');Name ist egal ^^
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    $Ftpp = _FtpPutFile($Conn, @TempDir& "\String.txt", '/StringOrdner/String.txt');Verzeichniss der auf dem Server sein muss "StringOrdner"
    $Ftpc = _FTPClose($Open)
    If $Ftpp = 1 Then
    MsgBox (1, "", "Fertig!")
    Else
    MsgBox (1, "", "Fehler!!")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Dann noch:

    Spoiler anzeigen

    Client:

    [autoit]

    #include <GUIConstants.au3>
    #include <FTP_Ex.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=D:\Daten\AutoIt\Koda\Forms\strings2.kxf
    $Form1 = GUICreate("Strings zwischen 2 PC's", 472, 251, 427, 285)
    $Label1 = GUICtrlCreateLabel("Strings austauschen!", 97, 24, 285, 44)
    GUICtrlSetFont(-1, 22, 400, 0, "Comic Sans MS")
    $Label2 = GUICtrlCreateLabel("Hier der empfangene String:", 40, 80, 136, 17)
    $Abholen = GUICtrlCreateButton("Abholen!!", 152, 184, 169, 65, 0)
    GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
    $StringAusgabe = GUICtrlCreateEdit("Hier erscheint gleich der String", 40, 104, 393, 73)
    GUICtrlSetData(-1, "StringAusgabe")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $server = '**************'
    $username = '*************'
    $pass = '********************'

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Abholen
    $s_RemoteFile = "/StringOrdner/String.txt"
    $Open = _FTPOpen('My FTP');Name ist egal ^^
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    $Ftpg = _FTPGetFile($Conn, $s_RemoteFile, @TempDir& "\String.txt")
    $Ftpc = _FTPClose($Open)
    $Ftpcc= _FTPClose($Conn)
    $fOpen = FileOpen (@TempDir& "\String.txt",0)
    $fRead = FileRead ($fOpen)
    $fClose = ($fopen)
    $Schreiben = GUICtrlSetData ($StringAusgabe, $fRead)
    EndSwitch
    WEnd

    [/autoit]

    Das habe ich vor kurzer Zeit mal geschrieben
    Wenn du Filedelete im Server Skript, auskommentierst, dann wird in die vorhandene Datei immer was neues dazu geschrieben.
    Wenn man das mit dem anderen dann empfängt, sieht man alles was von irgendwo drauf geladen wurde. :D
    Und wenn man das ganze etwas verfeinert kann man das machen:
    Benne: Hey Leute
    Achim: Hey
    Indem man den Benutzernamen fragt in ner Input Box :D
    Ich werde es moirgen auch mal versuchen =P
    Mfg
    Benne

  • Nice, thx werds gleich mal probiern. ^^

    Also ich kann machen was ich will, es gibt immer Fehler!! zurück.

    Muss ich $Server nur die IP eingeben ( *** ) oder das ganze ( *** ) ???

    Username und Admin stimmen, ich komme ja selbst auch drauf...

    Ich bin i.wie grad so ziehlich ratlos...


    AHHH ok, es geht, sry hatte nur was falsch gemacht xD

    Big Thx an dich.

    3 Mal editiert, zuletzt von Commander21 (17. April 2009 um 23:29)

  • So, da der Chat ja soweit geht, hätt ich da gleich die nächste Frage:

    Und zwar ändert sich meine IP ja nach einer unterbrechung der internet verbindung. wie mach ich das, dass die IP immer gleich bleibt?
    Oder wie löse ichd as problem anders?

  • @Commander21:

    Du hast das 11. Gebot, Du sollst nicht pushen, wieder nicht beachtet !!! Das war ernst gemeint !!!!
    Du kannst und solltest Deine Beiträge editieren wenn noch keiner dazwischen geantwortet hat.

    Also bei Dyndns schaut es so aus:
    Server: beispiel.dyndns.org Also keine IP

    $server = 'beispiel.dyndns.org'
    $username = beispiel'
    $pass = '1234567890'

    Wenn man so dann auf meine Linkstation zugreifen möchte, dann bekommt der User die IP gar nicht mit. Das macht alles DynDNS. Und genauso ist das wohl auch bei anderen Anbietern.
    Du hast dich angemeldet und das sind dann wohl auch die Daten die Du angeben mußt.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Soll ich also jetz nen neuen Server bei DynDns machen, oda wie mach ich das?

    Das mußt Du wissen, was Du nutzen möchtest.

    Und wenn Du dyndns nimmst, dann kannst Du das was ich gerade geschrieben habe anwenden. Und die Daten dann auch, wenn Du ihn nutzt, im Router eintragen unter "DDNS" bzw. "Dynamic DNS Settings". Dort dann die Daten eingeben, Router neu starten und evtl. vor dem Start noch eine IP vergeben, aber das steht in der Hilfe von DynDNS drinne.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Ok, ich bin leider nich so der Profi in sachen netzwerk, ip, dns, router u.s.w. deswegen frag ich soviel ^^

    Also könnte ich das so machen, oda versteh ich da was falsch:

    Ich hab jetz den Server von CesarFTP.
    Da geht das ganze ja über die jeweilige IP.

    Kann ich jetzt mit DynDns sozusagen "beispiel.dyndns.org" über diese IP legen, oda kann man bei DynDns einen ganz neuen TCP Server erstellen?

  • @Commander21:
    Wieiso schaust Du dir die Seite von Dyndns nocht erst einmal an und nimmst dort die texte zur Kenntnis und versuchst sie zu verstehen?
    Das ist nicht böse gemeint, aber Du sollst doch auch etwas dabei lernen und besonders es auch verstehen.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • So, da ich mit DynDns überhaupt net zurecht komme, hab ichs jetz mal mit No-Ip versucht.

    Soweit sogut.

    Hab mich registriert und nen Host angelegt.

    Als Host Typ hab ich "DNS Host (A)" gewählt.
    Da stand dann unten bei "IP Address": *********
    Da diese schon mehrere Tage gleich ist, scheint es meine feste IP zu sein...

    So, dann hab ich mir No-Ip DUC runtergeladen und mich angemeldet.
    Ein Häkchen vorne dran gemacht...

    Da mir CesarFTP net so gefallen hat, bin ich mal auf flat2serv gewechselt.

    So, hab bei flat2serv alles eingestellt, user erstellt u.s.w.
    Als Server IP Adresse hab ich (Automatisch) gelassen und der Port 21 war auch schon voreingestellt.

    Dann den Server aktiviert...

    Wenn ich nun aber versuche mit der Domain ( command-server.no-ip.org ) in den Server zu gehn, klappt es net.

    Was könnte da das Problem sein? Bitte helft mir, ich hab keine ahnung :(

    Einmal editiert, zuletzt von Commander21 (18. April 2009 um 16:27)

    • Offizieller Beitrag

    Hast du eigentlich eine Statische IP Adresse ? Wenn nicht , dann denke ich du hast bei No-Ip einen Fehler gemacht .

    • Offizieller Beitrag

    Überprüf mal ob du überhaupt eine feste IP Adresse hast . Einfach mal deine IP abfragen z.B. mit http://www.wieistmeineip.de/. Dann mal einen Neu_connect machen und die IP nochmals checken . Wenn sich die IP nicht ändert, dann braucht du auch kein Dyn-Dns oder NO-Ip . Sollte sie sich ändern, dann hast du beim Update deiner IP bei NO-Ip einen Fehler gemacht .

  • Ja, die bleibt anscheinend gleich.

    Nur komme ich damit auf keinen server.

    Wenn ich aber bei flat2serv die IP auf diese umändere und den server starten will,
    steht da: "Fehler beim starten des FTP-Servers, möglicherweise äuft bereits ein FTP Server."

    Ich kapiers einfach net :cursing:

    ...

    Sry ich gebs auf, ich kapiers einfach net...
    3 stunden schlag ich mich mit dem scheis jetz schon rum und es wird einfach nix.

    Scheis einfach drauf, sry für die ausdrucksweise, aber ich stehts grad bis oben hin .....

    Einmal editiert, zuletzt von Commander21 (18. April 2009 um 15:29)