Hallo,
Hatte ich zwar bei ftp.au3 angesprochen aber ist wohl unter gegangen. Weis vielleicht einer wie man mit Autoit Dateien Kopieren könnte? Im Privaten netztwerk ist das ja kein Problem. Aber wie ist das wenn man über Internet Kopieren will ? Ich will eine ähnliche kopiert technik wie peer to peer haben ist das möglich ? Vielleicht unter verwendung einer dll ?
Es hatte mal einer dies hier gepostet
Sender:
Code
#include<GUIConstants.au3>
GUICreate("Send",200,120)
$File = GUICtrlCreateInput("",10,10,100,20)
$fileopendialog = GUICtrlCreateButton(" ... ",120,10,40,20)
$serverinput = GUICtrlCreateInput("",10,40,100,20)
GUICtrlCreateLabel("Server-IP",120,40)
$ok = GUICtrlCreateButton(" Send ",40,80,40,20)
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
Exit
EndIf
If $msg = $fileopendialog Then
$Fileopen = FileOpenDialog("File open",@desktopdir,"All (*.*)")
GUICtrlSetData($File,$Fileopen)
EndIf
If $msg = $ok Then
Call("sendfile")
EndIf
WEnd
Func sendfile()
Local $szConfirm = ""
Local $sock = -1
Local $data
$server = GUICtrlRead($serverinput)
$FileSent = GUICtrlRead($File)
TCPStartup()
$sock = TCPConnect($server,50911)
$data = FileRead($FileSent,FileGetSize($FileSent))
SplashTextOn("Send","Sending ...",200,40)
TCPSend($sock,FileGetSize($FileSent) & "," & $data)
SplashOff()
While 1
$szConfirm = TCPRecv($sock,128)
If @error Or StringLen($szConfirm) Then
TCPShutdown()
ExitLoop
EndIf
WEnd
EndFunc
Alles anzeigen
Empfänger:
Code
Dim $iMainSocket = -1, $iSocket = -1
Dim $buffer = ""
Dim $bytes = -1
Dim $iRet = -1
TCPStartup()
$iMainSocket = TCPListen(@IPAddress1,50911)
While 1
If $iSocket = -1 Then
$iRet = TCPAccept($iMainSocket)
If Not @error Then $iSocket = $iRet
Else
$buffer &= TCPRecv($iSocket,10240)
If $bytes = -1 And StringInStr($buffer,",") Then
$bytes = StringLeft($buffer,StringInStr($buffer,",")-1)
$buffer = StringTrimLeft($buffer,StringInStr($buffer,","))
Else
SplashTextOn("Receive","Receiving ...",200,40)
If StringLen($buffer) = $bytes Then
SplashOff()
$FileReceived = FileSaveDialog("File save",@desktopdir,"All (*.*)")
ExitLoop
EndIf
EndIf
EndIf
WEnd
FileDelete($FileReceived)
FileWrite($FileReceived,$buffer)
MsgBox(4096,"","Transfer Complete")
TCPShutdown()
Alles anzeigen
Das ist eigentlich genau das was ich brauche, das Problem ist nur das ich schon im Lan netztwerk gerade mal 1% netztwerkauslastung habe. Also ziemlich langsam , Weis einer vielleicht wieso das so langsam ist? Oder eine andere Variante unter verwendung einer Dll z.b ? Bin für jeden Hinweis dankbar .thx