TCP Nachrichten kommen nicht an

  • Hallo
    Bei mir kommen TCP Nachrichten nicht an und ich habe keine Ahnung woran das liegt.

    Server:

    [autoit]

    Local $szIPADDRESS = @IPAddress1Local $nPORT = 33811TCPStartup()$Socket=TCPListen($szIPADDRESS, $nPORT)if @error thenMsgBox(0, "Fehler", "Verbindung konnte nicht hergestellt werden")ExitEndIfWhile 1$Sockets=TCPAccept($Socket)Wend

    [/autoit]

    Client:

    [autoit]

    Local $szIPADDRESS = @IPAddress1Local $nPORT = 33822TCPStartUp()$Socket=TCPConnect($szIPADDRESS, $nPORT)if @error ThenMsgBox(0, "Fehler", "Die Verbindung konnte nicht hergestellt werden")ExitEndIfHotKeySet("{F1}", "senden")While 1$recv=TCPRecv($Socket, 100)if $recv <> "" ThenMsgBox(0, "Nachricht", $recv)EndIfWEndfunc senden()$input=InputBox(0, "Senden", "Was soll gesendet werden?")if not @error then TCPSend($Socket, $input)EndFunc

    [/autoit]


    Edit: Server: http://pastebin.com/m14489256 Client: http://pastebin.com/m67ac0404

  • wenn der Server nichts empfangen will kommt da auch nix an

    server (Müsste so funzen)

    [autoit]


    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 33822
    TCPStartup()
    $Socket=TCPListen($szIPADDRESS, $nPORT)
    if @error then
    MsgBox(0, "Fehler", "Verbindung konnte nicht hergestellt werden")
    Exit
    EndIf
    Do
    $Connected =TCPAccept($Socket)
    Until $Connected <> -1

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

    While 1
    $Resv = TCPRecv($Connected,1024)
    If $Resv <> "" Then MsgBox(0,"Empfangen",$Resv)
    WEnd

    [/autoit]

    //Edit: Server und Client müssen auf dem gleichem Port laufen

  • Ne, echt mal... Ich seh das jetzt SO oft. Ist es denn so schwer den Text bei SciTE zu kopieren und dann hier einzufügen... Da muss man auch nicht auf ne externe Seite verweisen...

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • also Dein Client sollte sich schon mit der IP-Adresse des Servers verbinden.
    bei @IPAdress1 versucht der Client sich mit sich selbst zu verbinden.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Server:

    Spoiler anzeigen
    [autoit]

    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 33822;der port muss gleich sein!!!
    TCPStartup()
    $Socket=TCPListen($szIPADDRESS, $nPORT)
    if @error then
    MsgBox(0, "Fehler", "Verbindung konnte nicht hergestellt werden")
    Exit
    EndIf
    Do
    $Sockets=TCPAccept($Socket) ;damit der server die verbindung durchgehend überprüft, bis der client connectet
    Until $Sockets <> -1 ;bis einer drauf ist
    While 1
    $recive=TCPRecv($Sockets,100)
    If $recive <> "" Then ;wenn er was empfängt....
    MsgBox(0,"",$recive) ;kommt die msgbox
    EndIf
    WEnd

    [/autoit]


    Client:

    Spoiler anzeigen
    [autoit]

    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 33822;port nä ;)
    TCPStartUp()
    Do
    $Socket=TCPConnect($szIPADDRESS, $nPORT) ;connecten....
    Until $Socket <> -1 ;bis es klappt
    if @error Then
    MsgBox(0, "Fehler", "Die Verbindung konnte nicht hergestellt werden")
    Exit
    EndIf
    HotKeySet("{F1}", "senden")
    While 1
    Sleep(10) ;das TCPRecv ist hier unnötig, da der server nichts sendet, und um den cpu zu schonen ne sleep funktion ^^
    WEnd
    ;der rest stimmt so :D
    func senden()
    $input=InputBox(0, "Senden", "Was soll gesendet werden?")
    if not @error then TCPSend($Socket, $input)
    EndFunc

    [/autoit]


    hab ein paar kommentare reingeschrieben :)

    EDIT// zu langsam :pinch: und das mit der ip kann man ja später noch ändern^^ ich sollte weniger kommentare reinschreiben xD

    Mfg. PCKing


    Mein PC

    CPU: AMD FX 8350 8x4.00GHz
    Ram: 8GB DDR3
    Grafikkarte: Nvidia Geforce GTX 960 (4GB)
    Festplatten: 500GB SSD 1TB HDD
    Laufwerk: Blueray RW+ Brenner