LAN Chat ohne Server?

  • Geht das mit AutoIt?

    Einmal editiert, zuletzt von BurakSZ (13. Juni 2010 um 17:43)

  • kleines Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    ;IP, Port und Nick von dir
    $ip = "192.168.178.23"
    $port = 3000
    $nick = ""

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

    ;IP, Port und Nick von Gegenüber
    $ip2 = "192.168.178.21"
    $port2 = 3000
    $nick2 = ""

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

    TCPStartup()
    $server = TCPListen($ip, $port, 1)

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

    $form = GUICreate("Chat", 625, 445, 192, 124)
    $edit = GUICtrlCreateEdit("", 56, 16, 505, 265)
    $input = GUICtrlCreateInput("", 64, 336, 401, 21)
    $sender = GUICtrlCreateButton("Send", 488, 336, 97, 25, 0)
    GUISetState(@SW_SHOW)
    ControlClick("", "", $edit)
    Send("Connection von " & $ip & " zu " & $ip2 & " wird aufgebaut...")
    Send("{ENTER}")
    Send("Connection von " & $ip & " zu " & $ip2 & " wurde aufgebaut, falls IP richtig")
    Send("{ENTER}")

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $sender
    $client2 = TCPConnect($ip2, $port2)
    TCPSend($client2, GUICtrlRead($input))
    ControlClick("", "", $edit)
    Send("[" & @HOUR & ":" & @MIN & ":" & @SEC & "] " & $nick & ": " & GUICtrlRead($input), 1)
    Send(" {Enter}", 0)

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

    EndSwitch

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

    $client = TCPAccept($server)
    If $client >= 0 Then
    Do
    $message = TCPRecv($client, 2048)
    Until $message <> ""
    ControlClick("", "", $edit)
    Send("[" & @HOUR & ":" & @MIN & ":" & @SEC & "] " & $nick2 & ": " & $message, 1)
    Send(" {Enter}", 0)
    EndIf
    WEnd

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

    TCPShutdown()

    [/autoit]


    Beide Partner haben das Script hier und schon können die chatten. Oben noch richtige Ports und Ips eingeben

  • Was wenn ich es so haben will, das zum Beispiel einer gerade im Chat ist. Die IP von ihm ist klar (@IPAdress1) und der von dem noch nicht. Der andere startet das Programm (Skript) und geht auch in den Chat und die beiden können chatten. Dann kommt noch ein dritter, ........ etc.