none
C# Chatverbindung (TCP) RRS feed

  • Frage

  • Hallo Community,

    Ich gehe nun seit 2 Jahren auf eine HTL und mein ehr Geiz lässt nicht nach ein C# Chat zu scheiben. Bis jetzt hat alles prima funktioniert, doch nun würde ich gerne den Clienten über einen Server laufen lassen. Was ich so mitbekommen habe ist es am besten wenn ich ihn über TCP laufen lasse, doch irgendwie bekomme ich das nicht ganz hin. Ich habe mir mehrere Chats runtergeladen nur alle haben nicht wirklich funktioniert, da der andere Nutzer keine Nachrichten erhalten hat.

    Meine Frage: Könnte mir irgendwer "grob" so etwas schreiben das wenn ich etwas schreibe nicht nur in meiner RichTextBox1 steht sondern das dann jeder lesen kann, bzw mir jemand ein gutes Tutorial vorschlagen postet, da meine Ergebnisse bis jetzt nicht ganz so toll waren.


    PS: Den Client habe ich bis her nur in Forms geschrieben habe, da ich mich mit WPF noch nicht richtig beschäftigt habe.

    Mfg.

    Donnerstag, 21. März 2013 11:07

Antworten

  • Also die Fehlermeldung kommt, weil Du mit mehreren Threads arbeitest und alle Zugriffe auch Steuerelemente der GUI müssen aus dem UI Thread kommen. Das Problem ist komplett unabhängig vom "Verbindungsaufbau klappt nicht" zu sehen. Und immer erst ein Problem nach dem anderen lösen - evtl. geht es ja schon, wenn das Problem gelöst ist.

    Dies kannst Du mittels Invoke Aufrufe umgehen.
    http://msdn.microsoft.com/de-de/library/a1hetckb.aspx
    Der Link zeigt den Invoke Aufruf mittels eines Delegates.

    Ich selbst neige dazu, die "Business" Logik von der GUI zu trennen. Business Logik wäre dann hier die Kommunikation mit dem Server und die GUI zeigt das nur an. Somit wäre da eine Art "ChatConnection" Klasse. Diese hätte dann dso Methoden wie Connect und Send und wenn neue Nachrichten kommen, dann wäre dies ein Event "NewMessageArrived" oder so. Und da die GUI weiss, dass es ene Multi-Threaded Applikation kann man beim subscribe das schon handhaben:
    http://konradn.wordpress.com/2011/04/27/events-in-multithreaded-windows-forms-applications/

    Bezüglich meinem Link zu CodeProject in meiner ersten Antwort:

    Den Code zum Artikel kannst Du oben herunter laden ("Download Source") - direkt unter den Sternchen mit der Artikelbewertung.

    Mit den besten Grüßen,

    Konrad

    Donnerstag, 21. März 2013 12:04

Alle Antworten