Heyho Lieblings Community!,
Ich versuche mich an einem Script das mir zugriff auf meinem 2ten Computer über FTP gibt, den ich anlässlich meines Umzugs an einen Freund gebe(im austausch kann ich ihn weiter als Server benutzen), da ich den Autoit problemen aus dem weg gehen möchte mit der TCP startup methode habe ich mich entschieden dem Computer befehle über einen FTP server zu geben. Dazu verbindet sich der Client mit dem FTP & ladet dort eine Instruction.txt(hier 1.txt) hoch. Diese wird dann von einem 2ten Programm welches auf dem Computer installiert ist ausgelesen & die dortigen anweisungen werden ausgeführt. Ich denke das macht die Communication flüssiger & es ist einfacher für mich dieses Projekt umzusetzen.
Also habe ich mich hingesetzt & fix ein Script geschrieben um ersteinmal zu sehen ob die methode ratsam & funktional ist. Aber wie das schicksal mich leitet, so gibt es das eine Problem das mir den Verstand raubt. Ich habe einen FileZilla Server per XAMPP installiert & eingerichtet, dort einen Passiv modus eingestellt der die Ports 5064-5164 belegt. Der standart port für den FTP ist 5063(ich dachte dabei das die passiv port range den stardart port nicht überdecken sollte, habe nichts dazu gefunden ob das so richtig ist). Das script funktioniert solange ich versuche lokal auf dem server eine datei abzulegen, sobald ich aber external per no-ip auf meinen rechner zugreifen will spuckt er mir den fehler 12003 aus.
ich habe mich dazu belesen, jedoch nichts gescheites gefunden, weshalb ich nach 2h herumgrübeln wiedermal euch belästige. (RTFM? der smiley passt zu der Ratlosigkeit)
Mir ist aufgefallen das der server erst garkein signal für eine datei übertragung bekommt. Außerdem kann ich den Fehler 12003 nicht zuordnen(weshalb ich wohl auch keine informationen über den fehler habe, die mir deutlich weiterhelfen würden)
;*****************************************
;Control_Station.au3 by Ratten Frucht
;Erstellt mit ISN AutoIt Studio v. 1.03
;*****************************************
;~ #include "Server.au3"
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <inet.au3>
#include <FTPEx.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Ratten Frucht\Documents\ISN AutoIt Studio\Projects\Control Station\Forms\CLient.kxf
$CLient = GUICreate("Server CLient", 538, 204, 424, 413)
GUISetBkColor(0xE3E3E3)
$Button1 = GUICtrlCreateButton("Command Console", 128, 8, 107, 33)
$Label1 = GUICtrlCreateLabel("Remote Options:", 8, 16, 104, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x808000)
$Label2 = GUICtrlCreateLabel("Status:", 128, 48, 37, 17)
$Label3 = GUICtrlCreateLabel("Not Running", 168, 48, 64, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Button2 = GUICtrlCreateButton("Test Button", 128, 72, 107, 33)
$Label4 = GUICtrlCreateLabel("Status:", 128, 112, 37, 17)
$Label5 = GUICtrlCreateLabel("Not Running", 168, 112, 64, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label6 = GUICtrlCreateLabel("Server Status:", 8, 40, 71, 17)
$Label7 = GUICtrlCreateLabel("Off", 88, 40, 18, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;Server Vars
Local $SURL = "adresse.net" ;<=ist besser wenn ich meine Computer adresse nicht angebe
Local $HURL = "http://" & $SURL
;~ Local $FURL = "ftp." & $SURL ;<=ftp. = error
Local $FUser = "RemoteUser"
Local $FPass = "Remote"
Local $FPort = 5063
Local $FPassiv = 1
;Script Vars
Local $icount = 1999
;TestVars
Local $s_localFile = @ScriptDir & "\1.txt"
Local $s_RemoteFile = "/test.txt"
While 1
$icount = $icount + 1
if $icount = 2000 Then
$icount = 0
if _INetGetSource($HURL,True) <> "" Then
GUICtrlSetData($Label7,"On")
GUICtrlSetColor($Label7, 0x00FF00)
Else
GUICtrlSetData($Label7,"Off")
GUICtrlSetColor($Label7, 0xFF0000)
EndIf
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$FTPopen = _FTP_Open("TestMe")
$FTPConn = _FTP_Connect($FTPopen, $SURL, $FUser, $FPass, $FPassiv, $FPort)
If @error Then
ConsoleWrite("FTP Error" & @CRLF)
Else
ConsoleWrite("FTP Connected" & @CRLF)
If _FTP_FilePut($FTPConn, $s_LocalFile, $s_RemoteFile) Then
ConsoleWrite("Upload: erfolgreich" & @CRLF)
Else
ConsoleWrite("Upload: fehlgeschlagen" & " " & @extended & @CRLF)
EndIf
EndIf
_FTP_Close($FTPopen)
_FTP_Close($FTPConn)
EndSwitch
WEnd
Alles anzeigen