TCP Chat - Funktiniert nicht

  • Hallo zusammen

    Ich brauch da mal eure Hilfe:

    Wieso funktioniert das nicht?

    Wenn ich es lokal mache funktioniert es(über die IP des gleichen PC's). Über 2 PC's nicht. (LAN)

    Client:

    [autoit]

    $ip = $cmdline[1]
    $text = InputBox( "Nachricht", "Nachricht:")
    TCPStartup()
    $socket = TCPConnect($ip, 80)
    If $socket = -1 Then
    MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
    EndIf

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

    $sendedBytes = TCPSend($socket, $text)

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

    If $sendedBytes = 0 Then MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
    EndIf
    TCPCloseSocket($socket)
    TCPShutdown()

    [/autoit]

    Server:

    [autoit]

    TCPStartup()
    $ip = $cmdline[1]
    $mainsocket = TCPListen($ip, 80)
    While 1
    $acceptedSocket = TCPAccept($mainsocket)

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

    If $acceptedSocket <> -1 Then
    $receivedData = TCPRecv($acceptedSocket, 1024)

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

    MsgBox(0, "1 neue Nachricht", "Nachricht: " & @crlf & $receivedData)
    TCPCloseSocket($acceptedSocket)
    EndIf
    WEnd

    [/autoit]

    PS.: Die $IP wird mit gegeben, als Parameter, weil die beiden Programme von einem anderen aus gestartet werden.

  • Würde mal sagen Firewall prüfen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Danke für die schnelle Antwort.

    Die Firewall kanns nicht sein. Die ist an beiden PC's deaktiviert. Stimmt der Programmcode?

  • Port 80 ist doch schon belegt durch HTTP. Versuch mal einen anderen. Z.b. 5000. Die IP kommt richtig an (ConsoleWrite)?

  • Gehst über den Router? Wenn ja, musst du auf deinem Router gewünschte Ports freischalten sonst wirds net gehen.