ich versteh nicht warum keine logdatei erstellt wird. oder habe ich was vergessen?
Ich habs jetzt beides auf einem pc getestet aber es wird einfach keine log datei erstellt und geschrieben... es passiert einfach nichts^^
Das ist der Client:
Spoiler anzeigen
;Dieses Script prüft ob die USB Festplatte angeschlossen ist oder nicht.
;wenn die Festplatte nicht mehr angeschlossen ist wird das Script per LAN USB Utility die Festplatte wieder verbinden und danach Freigeben.
;die Daten die dieser Client an das ServerScript schickt soll das ServerScript in eine Logdatei schreiben.
Opt("TrayAutoPause", 0)
TCPStartUp()
[/autoit] [autoit][/autoit] [autoit]Global $AllDrives
Global $Drive
Global $DriveActive=0
Global $_LogText
Global $_LogFile
Global $connect = -1
$IP = "127.0.0.1"
Do
$socket = TCPConnect( $IP, 65432 )
until $socket <> -1
While 1
$AllDrives=DriveGetDrive("REMOVABLE")
If IsArray($AllDrives)=1 Then
$Drive=$AllDrives[1]
_Log("Programm wurde gestartet.")
Angeschlossen()
EndIf
Sleep(1000)
WEnd
Func Angeschlossen()
Sleep(10000)
While DriveStatus("F:")="READY" Or DriveStatus("E:")="READY"
If $DriveActive=0 Then
_Log("Festplatte ist aktiv.")
$DriveActive=1
EndIf
Sleep(10000)
WEnd
$DriveActive=0
_Log("Festplatte ist inaktiv.")
Abgeschlossen()
EndFunc
Func Abgeschlossen()
Sleep(200)
WinGetHandle("LAN USB Utility")
If @error Then
_Log("LAN USB Utility.exe wird neu gestartet, weil das Programm abgestuerzt ist.")
ProcessClose("LAN USB Utility.exe")
Sleep(1000)
Run("C:\Programme\Sharkoon\LAN USB Utility\LAN USB Utility.exe")
EndIf
ControlClick("LAN USB Utility", "", "[CLASSNN:Button1]")
Sleep(1000)
ControlClick("LAN USB Utility", "", 1002, "left", 1, 52, 28)
Sleep(100)
ControlClick("LAN USB Utility", "", "[CLASSNN:Button2]")
Sleep(60000)
_Log("Festplatte wird verbunden...")
Freigeben()
EndFunc
Func Freigeben()
If DriveStatus("F:")="READY" Then
_Log("Festplatte F: wird als Name: Backup freigegeben...")
_RunDos("net share Backup=F:")
_Log("Festplatte ist Freigegeben.")
ElseIf DriveStatus("E:")="READY" Then
_Log("Festplatte E: wird als Name: Backup freigegeben...")
_RunDos("net share Backup=E:")
_Log("Festplatte ist Freigegeben.")
Sleep(1000)
EndIf
Angeschlossen()
EndFunc
Func _RunDOS($sCommand)
Local $nResult = RunWait(@ComSpec & " /C " & $sCommand, "", @SW_HIDE)
Return SetError(@error, @extended, $nResult)
EndFunc
Func _Log($_LogText)
TCPSend($Connect,$_Logtext)
EndFunc
Func OnAutoItExit()
TCPShutdown()
EndFunc
Das ist der Server:
Spoiler anzeigen
#Include <File.au3>
Global $Accept=-1, $Recive
$IP = "127.0.0.1"
TCPStartup()
TCPListen($IP, 65432)
$Listen = TCPListen($IP, 65432)
Do
$Accept = (TCPAccept($listen))
Until $accept <> -1
If FileExists(@ScriptDir & "/log.txt") = 0 Then
_FileCreate(@ScriptDir & "log.txt")
EndIf
;angucken:
$file = FileOpen(@ScriptDir & "/log.txt",2)
While 1
If $recive = TCPRecv($accept,100) <> "" Then FileWriteLine($file,$accept)
Sleep(10)
WEnd