TCP Server Server /Client

  • Hey ich habe probiert einen tcp server/ client zu machen es sollte ansich gehen , aber geht leider ned :/
    vll wist ihr was da ned stimmt, ob das port forwarding ned passt oder im cod was falsch ist, vll kann der eine oder andere es bei sich selber ausprobieren ob es geht befehle zu schicken, bis jz kann man nur run und msg box befehle schicken aber die befehle kommen halt anscheinend ned an :/
    mfg
    black

    Server

    [autoit]

    #include<GUIConstants.au3>
    $ServerIP = @IPAddress1
    $Port = 33891
    TCPStartup()
    $MainSocket = TCPListen($ServerIP, $Port)
    if $MainSocket = -1 Then Exit

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

    $ConnectedSocket = -1
    Do
    $ConnectedSocket = TCPAccept($MainSocket)
    Until $ConnectedSocket <> -1

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

    while 1
    $recv = TCPRecv($ConnectedSocket, 2048)
    if @error Then ExitLoop

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

    if $recy <> "" Then
    TrayTip("Incoming Command",$recv ,5)
    _CommandToAction($recv)

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

    EndIf
    WEnd
    if $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)

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

    TCPShutdown()

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

    Func _CommandToAction($command)
    $ar = StringSplit($command,"/")
    Switch $ar[1]

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

    case "Msg"

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

    MsgBox(0,$ar[2],$ar[3])

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

    Case "Run"
    Run($ar[2])
    EndSwitch
    EndFunc

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


    Client

    [autoit]

    $ServerIP = @IPAddress1
    $Port = 33891
    TCPStartup ()
    $ConnectedSocket = TCPConnect($ServerIP, $Port)

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

    if @error Then
    MsgBox(4112,"Error","TcpConnect Failed : " & @error)
    Else
    while 1
    $Data = InputBox("Data send to the server","Pls enter Data :")
    if @error or $Data = "" Then ExitLoop
    TCPSend($ConnectedSocket , $Data)
    if @error Then ExitLoop
    WEnd

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

    EndIf

    [/autoit]
    • Offizieller Beitrag

    OMG, in deinem Serverscript hast du in Zeile 17 einen Fehler. Da steht ein y statt einem v.
    Btw, wenn das dein Original Serverscript ist, warum verbesserst du den Fehler nicht?
    AutoIt beschwert sich, wenn du das Script ausführen oder compilieren willst.

  • Hab ich probiert zeigt aber bei beiden keinen fehler an das script startet auch ganz normal alles funktioniert aber wenn ich einen befehl schicke kommt nixs :(
    kanst dus mal bei dir probieren ? auch gleich mit einem befehl senden pls

  • bis jz kann man nur 2 befehle ausführen: Run (programm) oder eine msgbox,
    normal müste der befehl dann lauten "Run/notepad" dann sollte unten der traytip kommen rechts unten und notepad sich öfnen, das klapt halt ned

    • Offizieller Beitrag

    Probier mal die Beispielscripte von TCPRecv und TCPSend aus.
    Das Beispiel von TCPRecv ist der Server und das von TCPSend ist der Client.


    Ich weis nicht wie ich dir helfen soll, wenn dein Script bei mir läuft. X/