Wieder n Chat...

  • Hi, ich weiß hier gibt es schon vorschläge und auch funktionierende Chats, aber keiner von denen entspricht so ganz meinen vorstellungen. Also hab ich mal selbst einen angefangen:

    [autoit]


    #include <GUIConstants.au3>
    $Ip = InputBox ("IP ?", "Mit wem möchten sie verbinden ?")
    $Port = InputBox ("Port ?", "über welchen port soll verbunden werden ?")
    $socket = TCPConnect ($Ip, $Port)
    TCPAccept ($socket)
    $Kaka = ("noch nicht verbunden")
    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\administrator\desktop\spiele\koda\forms\chat.kxf
    $Form1 = GUICreate("Ka messenger made by -=[EMFC]=-hnzck", 479, 286, 207, 187)
    $poop = GUICtrlCreateInput("", 8, 256, 385, 21)
    $Knopp = GUICtrlCreateButton("Senden", 400, 256, 73, 25GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    GUICtrlSetOnEvent($Button1, "Abschicken")
    While 1
    $nMsg = GUIGetMsg()
    $Kaka = TCPListen ($Ip, $Port, 1000)
    GUICtrlCreateLabel("" & $Kaka, 4, 8, 388, 244)
    Switch $nMsg
    EndSwitch
    if $nMsg = $GUI_EVENT_CLOSE then Exit
    WEnd
    Func Abschicken ()
    TCPSend ($socket, $poop)
    $poop = ""
    EndFunc

    [/autoit]

    Das ganze funktioniert auch schon fast. Aber eben nur fast

    Mein problem ist eigentlich nur, dass meine gesendete Nachricht nicht ankommt. (hab das mal getestet indem ich den Chat mal Compiliert hab, doppelt geöffnet,an den selben port connectet und ne Nachricht abgeschickt. und das ergebnis: -1

    Jetzt stellt sich für mich die Frage wie wandle ich also meine Sätze am besten in für autoit leicht versändliche und vorallem verschickbare zeichenketten um ? Oder liegt mein Fehler vielleicht darin das die verbindung nur einmalig akzeptiert wird ?

    Oder ist es einfach unmöglich einen Chat zu schreiben der ohne server läuft ?

  • du hast gar kein TCPRecv drin, das brauchst du aber wenn du was empfangen willst. Schau am besten in der Hilfe nach.

  • Interpretier ich das richtig, dass ich anstelle von:

    $Kaka = TCPListen ($Ip, $Port, 1000)

    einfach nur $Kaka = TCPRecv ($socket, 9999, 0) verwenden muss und es KÖNNTE funktionieren :?: