TCP

  • ALso wir (Luke4321 und ich) haben es bisher nicht geschafft eine TCP-Verbindung zu schreiben.


    Auch wenn wir die Skripte aus Tutorials nehmen funktionierte es nciht.


    Client:

    Spoiler anzeigen
    [autoit]

    TCPStartup() ; TCP wird initialisiert

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

    $socket = TCPConnect("192.168.100.63", 4321) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$socket" ab

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

    If $socket = -1 Then ; Wenn $socket = -1 ist, Fehlermeldung ausgeben
    MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
    Exit
    EndIf

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

    $sendedBytes = TCPSend($socket, "Hi. Dieser Text wurde vom Client gesendet :)") ; Sendet den Text an unseren verbundenen Socket

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

    If $sendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
    MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
    EndIf

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

    TCPCloseSocket($socket)
    TCPShutdown()

    [/autoit]

    Welche IP-addressen müssen wir eigentlich bei TCPConntect eintragen?

  • Ich habe für den Server, den wir natürlich erst gestartet haben ;) folgenen Code verwendet:

    Spoiler anzeigen
    [autoit]

    TCPStartup() ; TCP wird initialisiert

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

    $mainsocket = TCPListen("192.168.100.13",4321) ; Den mainsocket erstellen

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

    While 1 ; Endlosschleife
    $acceptedSocket = TCPAccept($mainsocket) ; Wir versuchen eine möglicher Verbindung anzunehmen

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

    If $acceptedSocket <> -1 Then ; Wenn $acceptedSocket ungleich -1 ist, ...
    $receivedData = TCPRecv($acceptedSocket, 1024) ; Wenn eine Socketverbindung hergestellt wurde, empfange ein Paket vom Client ($connectedSocket)
    MsgBox(64, "Nachricht empfangen!", "Es wurde eine Nachricht empfangen: " & $receivedData)
    TCPCloseSocket($acceptedSocket)
    EndIf
    WEnd

    [/autoit]

    Funktioniert auch, wenn man bei beiden Codes "127.0.0.1" verwendet und die auf eim und demselben Rechner laufen lässt, aber eben nicht, wenn wir zwei verwenden :(. Wir haben sowohl über Kabel, als auch über WLAN versucht, geht aber beides nicht.

    Hängt eventuell damit zusammen, dass wir nicht wissen, welche IP man eingeben muss :(. Ich habe in meinem Code die IP von Marthog verwendet und er meine.