Nachdem ein Client sich getrennt hat würde ich gerne dass das script sofort wieder auf eine neue verbindung wartet
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
;==============================================
;==============================================
; SERVER!! Startet mich zuerst !!!!!!!!!!!!!!!
;==============================================
;==============================================
Example()
Func Example()
; Richte einige wiederverwendbare Informationen ein.
; Richte deine öffentliche IP Adresse (@IPAddress1) hier ein.
; Local $szServerPC = @ComputerName
; Local $szIPADDRESS = TCPNameToIP($szServerPC)
Local $szIPADDRESS = @IPAddress1
Local $MainSocket, $ConnectedSocket, $szIP_Accepted
Local $nPORT = 33891
[/autoit][autoit][/autoit][autoit]Local $msg, $recv
; Startet den TCP Service
;==============================================
TCPStartup()
; Erstellt einen lauschenden Port.
; Benutzt deine IP Adresse und den Port 33891. (Oben angegeben)
;==============================================
$MainSocket = TCPListen($szIPADDRESS, $nPORT)
; Wenn die Socketerstellung fehl schlägt, dann wird das Programm beendet.
If $MainSocket = -1 Then Exit
; Erstellt eine GUI für Messages.
;==============================================
; Initialisiert eine Variable um eine Verbindung anzugeben
;==============================================
$ConnectedSocket = -1
; Wartet auf und akzeptiert eine Verbindung
;==============================================
Do
$ConnectedSocket = TCPAccept($MainSocket)
Until $ConnectedSocket <> -1
; Bekommt die IP des verbundenen Clients
$szIP_Accepted = SocketToIP($ConnectedSocket)
; GUI Message Schleife
;==============================================
While 1
$msg = GUIGetMsg()
; GUI beendet
;--------------------
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
; Versucht Daten zu empfangen, bis zu 2048 bytes
;----------------------------------------------------------------
$recv = TCPRecv($ConnectedSocket, 2048)
; Wenn der Empfang mit @error fehlschlägt, dann hat sich der Socket getrennt.
;----------------------------------------------------------------
If @error Then ExitLoop
; Aktualisiert das Input-Control mit dem, was wir empfangen haben.
;----------------------------------------------------------------
If $recv <> "" Then ConsoleWrite($recv & @CRLF)
WEnd
If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)
TCPShutdown()
EndFunc ;==>Example