Datenübertragung

  • Heyho liebe Community.

    Zurzeit arbeite ich viel mit Server- und Client Applikationen.
    Nun wollte ich es mit Datenübertragung versuchen.
    Ich habe bereits etwas eigenes versucht, lieber wäre mir allerdings eine möglichkeit Neue ordner auf einem FTP Server und Datein auf einem FTP Server zu erstellen.

    Mein jetziges Script liest eine Datei aus und sendet ihren Inhalt an den Server, welcher sie wieder in eine Datei schreibt.
    Bei diesem Script habe ich jedochdas Problem, dass das Paket nicht ganz beim Server ankommt (wegen Maxbytes), obwohl die Datei nichtmal 20KB groß ist.
    Wenn ich die Maxbyte noch höher stelle kommt der error "Memory allocated".

    Client:

    [autoit]


    $Path = "Pfad"
    $Path2 = "Pfad2"

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

    $PathOpen = FileOpen($Path,16)
    $PathPaket1= FileRead($PathOpen)
    FileClose($PathOpen)

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

    $PathOpen2 = FileOpen($Path2,16)
    $PathPaket2= FileRead($PathOpen2)
    FileClose($PathOpen2)

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

    TCPStartup()
    $Ip = $IP
    $Port = $Port

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

    $socket = TCPConnect($Ip, $Port)
    If $socket = -1 Then
    Else
    TCPSend($socket, $PathOpen2&"|1" )
    TCPSend($socket, $PathOpen2&"|2" )
    EndIf
    TCPCloseSocket($socket)

    [/autoit]


    Server:

    [autoit]

    $MainSocket = TCPListen($ip, $port, $maxcon)

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

    If $MainSocket = -1 Then
    MsgBox(16, "Error", "Es ist ein Fehler aufgetreten.")
    EndIf

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

    While 1

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

    $ConnectedSocket = TCPAccept($MainSocket)

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

    If $ConnectedSocket >= 0 Then

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

    Do

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

    $Recv = TCPRecv($ConnectedSocket, $maxbyte)

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

    Until $Recv <> ""
    $split = StringSplit($Recv, "|")
    If $split[0] = 3 Then
    __ACTION_X()
    ElseIf $split[0] = 2 Then
    If $split[2] = "1" then
    $openedFile = FileOpen(@ScriptDir&"\Test Nummer 1.txt", 18)
    FileWrite($openedFile, $split[1])
    FileClose($openedFile)
    ElseIf $split[2] = "2" then
    $openedFile = FileOpen(@ScriptDir&"\Test Nummer 2.txt", 18)
    FileWrite($openedFile, $split[1])
    FileClose($openedFile)

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

    EndIf
    EndIf
    WEnd

    [/autoit]

    Wie gesagt ich brauche nicht unbedingt eine Lösung für dieses Script, lieber wäre mir eine Lösung das mit FTP Funktionen zu lösen.

  • lieber wäre mir allerdings eine möglichkeit Neue ordner auf einem FTP Server und Datein auf einem FTP Server zu erstellen.


    Warum tust du es dann nicht einfach? Alles was du brauchst, findest du in der FTPEx.au3.
    _FTP_DirCreate(), _FTP_FilePut() ...