#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** HotKeySet("!{ESC}", "Terminate");ALT+ESC to exit $restarttimeout = 5;time to wait for incoming data, if timeout reached wait for new connection $iConnectedSocket = -1 $iMainSocket = -1 $waitcounter = 0 TCPStartup() While 1 $sReceived = TCPRecv($iConnectedSocket, 2048) $ierror = @error If $ierror <> 0 Then ConsoleWrite("Error: " & $ierror & @CRLF) ;we reset and wait for a new connection if we have an error, or we reach the temout (no data receieved) or we geht a goodbye signal from the sender If $ierror = 0 And $waitcounter < $restarttimeout * 10 And Not StringInStr($sReceived, "") Then If $sReceived <> "" Then ConsoleWrite($sReceived & @CRLF) Sleep(250) $waitcounter = 0 Else $waitcounter = $waitcounter + 1 Sleep(100) EndIf Else If $waitcounter >= $restarttimeout * 10 Then ConsoleWrite("Connection timeout" & @CRLF) If StringInStr($sReceived, "") Then ConsoleWrite("Goddbye received" & @CRLF) $waitcounter = 0 If $iConnectedSocket <> -1 Then ConsoleWrite("closing receive socket" & @CRLF) TCPCloseSocket($iConnectedSocket) EndIf If $iMainSocket <> -1 Then ConsoleWrite("closing main socket" & @CRLF) TCPCloseSocket($iMainSocket) EndIf $iMainSocket = TCPListen("0.0.0.0", 33891, 0) If @error <> 0 Then ConsoleWrite("error opening main main socket: " & @error & @CRLF) Exit Else ConsoleWrite("main socket: " & $iMainSocket & @CRLF) EndIf ConsoleWrite("waiting for connection" & @CRLF) Do Sleep(500) $iConnectedSocket = TCPAccept($iMainSocket) Until $iConnectedSocket <> -1 And $iConnectedSocket <> 0 And @error = 0 ConsoleWrite("connected: " & $iConnectedSocket & @CRLF) EndIf WEnd Func Terminate() ConsoleWrite("Shutting down" & @CRLF) TCPCloseSocket($iConnectedSocket) TCPCloseSocket($iMainSocket) TCPShutdown() Exit EndFunc ;==>Terminate