TCP onlinefähig machen oder ähnliches ;)

  • Hey Leute

    kann man mit AutoIt einen Chat übers internet machen, also sowas wie tcp nur übers internet.

    Ich kenne diese chat.au3 die das ganze über einen FTP-Server sendet, finde das aber...naja sagen wir umständlich, das muss doch auch einfacher gehen.

    Bei google finde ich auch nix womit man tcp onlinefähig macht, also hoffe ich dass ihr mir helfen könnt ;)

    MySql kenn ich zwar nicht, aber ich weiß dass es dafür ne UDF gibt, aber ich weiß auch nicht ob man dadrüber nen chat machen kann.

    Danke

    DFPWare

  • Natürlich ist TCP Onlinefähig! Man muss nur die Ports im Router freischalten, eine genaue Beschreibung gibt es hier!

    //Edit: Dann beweis deinem Kumpel das Gegenteil ^^

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Zitat

    n kumpel von mir hat gemeint dass das online nicht funktioniert 8|


    Es gibt in diesem Forum bereits einen TCP Chat. Ich glaube GTASpider oder so hat einen gemacht... Benutz mal die Forensuche, du wirst bestimmt was finden. Und ein TCP Tutorial für AutoIt findest du über Google (Den Link möchte/darf ich hier nicht angeben).

  • name22: habe das Tutorial durch ;)

    Jetzt will ich aber nicht, dass nur der Server mit dem Clienten kommunizieren kann, sondern der Server auf irgendeinem pc läuft und ein Client etwas sendet, das von einem anderen Clienten wieder empfangen wird.

    Bis jetzt bin ich so weit, dass der Server läuft und auch Text empfangen kann, was er ja eigentlich gar nicht braucht ;) Der Sender sendet auch Fehlerfrei aber der Empfänger empfängt nix. Hier die 3 Skripte:

    Server

    Spoiler anzeigen
    [autoit]

    OnAutoItExitRegister("_EXIT")
    TCPStartup()
    $mainsocket = TCPListen("5.233.233.230", 4321)
    While 1
    ; $acceptedSocket = TCPAccept($mainsocket)
    ; If $acceptedSocket <> -1 Then
    ; $receivedData = TCPRecv($acceptedSocket, 1024)
    ; MsgBox(64, "Empfänger", "Es wurde eine Nachricht empfangen: " &@CRLF& $receivedData)
    ; EndIf
    WEnd
    Func _EXIT()
    TCPCloseSocket($mainsocket)
    TCPShutdown()
    EndFunc

    [/autoit]

    Sender:

    Spoiler anzeigen
    [autoit]

    OnAutoItExitRegister("_EXIT")
    TCPStartup()
    $socket = TCPConnect("5.233.233.230", 4321)
    If $socket = -1 Then
    MsgBox(16, "Client", "Die Verbindung zum Server konnte nicht hergestellt werden!")
    Exit
    EndIf
    $sendedBytes = TCPSend($socket, "Diese Nachricht soll gesendet werden")
    If $sendedBytes = 0 Then
    MsgBox(16, "Sender", "Das Paket konnte nicht gesendet werden.")
    Exit
    EndIf
    Func _EXIT()
    TCPCloseSocket($socket)
    TCPShutdown()
    EndFunc

    [/autoit]

    Empfänger:

    Spoiler anzeigen
    [autoit]

    OnAutoItExitRegister("_EXIT")
    TCPStartup()
    $socket = TCPConnect("5.233.233.230", 4321)
    If $socket = -1 Then
    MsgBox(16, "Client", "Die Verbindung zum Server konnte nicht hergestellt werden!")
    Exit
    EndIf
    While 1
    $acceptedSocket = TCPAccept($socket)
    If $acceptedSocket <> -1 Then
    $receivedData = TCPRecv($acceptedSocket, 1024)
    MsgBox(64, "Empfänger", "Es wurde eine Nachricht empfangen: " &@CRLF& $receivedData)
    EndIf
    WEnd
    Func _EXIT()
    TCPCloseSocket($socket)
    TCPShutdown()
    EndFunc

    [/autoit]

    Danke

    DFPWare

    EDIT: Die IP is von hamachi ;)

  • Das ganze Internet basiert auf TCP/IP

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • wo ist das problem?
    Wenn beim Server was reingeht soll er halt mit TCPsend das was eingegangen ist an alle clienten senden die online sind.
    is ne ganz simple do until schleife mit nem TCP send drinnen

    EDIT:
    Jetz seh ichs dazu sollte dein Server erst mal multi clienten unterstützen tut er nähmlich nicht!

  • Erstmal kann der Server gar nicht auf "irgendeinem pc" laufen! Dafür muss man extra erst den Port usw freischalten.
    Wenn ich dich richtig versteh dann mach das so:
    1. Server starten
    2. Client2 kontaktiert -> Server weiß jetzt an wen er Daten weitersenden soll
    3. Client1 schickt Daten
    4. Server schickt Daten von Client1 an Client2 weiter

    Nur keine Hektik - das Leben ist stressig genug

  • Das hört sich komplizierter an, als es ist ^^. Guck dir einfach noch ein paar Videos und Tuts an. Nj, ist ja deine Entscheidung.

    Nur keine Hektik - das Leben ist stressig genug

  • Ohne deinen Code anzuschauen würde ich fast sagen das es nicht am Code liegt sondern an den Router bzw Firewall einstellungen (oder an den IP angaben)

    To do:

    - Im Routermenü des Netzwerkes, in dem sich der Servercomputer befindet eine Portfreigabe für deinen grwünschten Port machen und auf den Servercomputer verweisen

    - Im Server die Lokale IP eintragen (@IpAdress1 z.B.)

    - im Client die IP eintragen, die DER SERVERRECHNER durch _GetIP bekommt, das ist die IP des Routers

    - Wie genau das alles funktioniert hat eigentlich schon Andy in dem von mir bereits geposteten Post beschrieben
    Hier


    Zitat

    Naja, bei manchen Leuten funktioniert das fast nicht :D BB, you know what I mean?^^


    :D Bei mir hats am Ende ja dann doch geklappt :P

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake