Hallo an Alle,
es geht um diesen Script:
[autoit]#include <GUIConstantsEx.au3>#include <StaticConstants.au3>#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global $Form1 = GUICreate("TEST", 393, 415, -1, -1)
GUISetOnEvent(-3, "_Exit")
TCPStartup()
$Main_IP = @IPAddress1$Master_IP = "192.168.0.100"$Master_Port = 54545
Global $iSocket = 0Global $Master = ""
_Master_Verbinden()
Func _Master_Verbinden() GUISetState(@SW_SHOW, $Form1)
$Master = "" ; Offline = "", Online = "ONLINE" Do ConsoleWrite("Warte auf Server IP: " & $Master_IP & @CRLF) $iSocket = TCPConnect($Master_IP, $Master_Port) Sleep(1000) Until $iSocket > 0 GUISetState(@SW_HIDE, $Form1)
_ComputerName_Senden() Sleep(1000) $Master = "ONLINE" ConsoleWrite("Server online." & @CRLF)EndFunc ;==>_Master_Verbinden
While 1 If $Master = "ONLINE" Then Dim $recv = "" $recv &= TCPRecv($iSocket, 1024)
If StringInStr($recv, "TASKMANAGER") Then MsgBox(0, "Info", "Taskmanager killen.", 10) ;... ;...
ElseIf StringInStr($recv, "CMD") Then MsgBox(0, "Info", "CMD killen", 5) ;... ;... Else ConsoleWrite("Warte auf Action..." & @CRLF) EndIf
TCPSend($iSocket, "") If @error Then $Master = "OFFLINE" _Master_Verbinden() EndIf
EndIf Sleep(100)WEnd
Func _ComputerName_Senden() Local $ComputerName
$ComputerName = @ComputerName & "|" & @ComputerName & "|" & @ComputerName
TCPSend($iSocket, $ComputerName) If @error Then TCPCloseSocket($iSocket) $iSocket = 0 GUISetState(@SW_SHOW, $Form1) _Master_Verbinden() EndIfEndFunc ;==>_ComputerName_Senden
Func _Exit() TCPCloseSocket($iSocket) TCPShutdown() ExitEndFunc ;==>_Exit
[/autoit]am Anfang funktioniert alles problemlos bzw. ein anderer Script sendet (TCPSend) zb. "CMD" und dieser Script öffnet MsgBox(0, "Info", "CMD killen", 5) usw. doch nach paar Minuten kommen keine TCPSends mehr an, obwohl Verbindung noch steht (ansonsten würde sich ein Fenster öffnen) reagiert er nicht woran kann so was liegen?
Gruss,
Automatisator