Chat Anwendung... Fehler

  • VB.NET

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von A-Zid.

    Chat Anwendung... Fehler

    hey Leute, Ich habe einen Lan Chat für die Firma Progammiert wo ich arbeite alles Funktioniert ... naja fast alles :(

    das ganze funktioniert so:

    das Chatprogramm wird gestartet oben wird ein Username reingeschrieben und dann kann man los Chatten bei der ersten nachricht wird eine Textdatei erstellt: Chatlog.txt da wird alles reingeschrieben und in einem Timer alle 250 Milisekunden abgefragt und in eine Textbox geschrieben
    naja und 2 Probleme gibts dabei:

    1. wenn ich das Interval des Timers runterstelle dann Flackert die Textbox und es ist eine enorme Netzwerkauslastung.

    2. wenn ichs auf 250 lasse und 2 Leute so halbwegs gleichzeitig was schreiben (passiert sehr oft) dann kommt bei jedem eine Fehlermeldung das auf die Textdatei "Chatlog.txt" zugegriffen wird...

    und über Net Send will ich das ganze nicht machen!

    Brauche Dringeng Hilfe..

    Verschoben. MfG gs93

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „gs93“ ()

    Das mit der Textdatei ist natürlich sehr unflexibel. Das Problem hast du schon selbst bemerkt: wenn eine Seite die Datei offen hat, kann der andere natürlich nicht reinschreiben.
    Für den Chat kannst du entweder direkt per TCP/IP-Protokoll arbeiten (Anleitungen gibts hier im Forum) oder du arbeitest mittels einer Datenbank (MySQL), dann hast du - wenn dus richtig machst - ebenfalls kaum Probleme.

    Aber vielleicht haben andere noch bessere Ideen ;)
    Chris' Weblog - Mein Blog rund um Vieles :D
    ich wollts in meinem Textdatei Prinzip lassen das lässt sich bestimmt lösen ..
    das hat auch einen Grund wir hatte davor alle Skype nur es ist was vorgefallen und jetzt dürfen wir in der Firma nurnoch untereinadner Chatten also darf es auf keinen Fall möglich sein Extern hier drauf zu kommen daher das Textdatei Prinzip die datei liegt auf meinem PC hier und der ist freigegeben für die User die draufdürfen ;)

    und dabei sollte es möglichst auch bleiben

    aber eigentlich müsste es trotzdem gehen weil das Programm arbeitet mit Streamreader und Streamwriter und die werden sowiso sobald sie Fertig sind Geschlossen deshalb versteh ichs ja nicht...
    Also wie Klyx schon angedeutet ist Text totler Mist für ein Chat. Willst du - der Einfachkeitshalber - trotzdem dabei bleiben würde ich dir raten 2 Textdateien anzulegen, in eine wird das von Person A geschriebene reingepackt und von Person B ausgelesenen, ebenso wird die Datei von Person B beschrieben und von A ausgelesen. Zudem werden NUR neue Nachrichten in die Textdateien geschrieben und nach dem auslesen des entsprechenden Users wird die Textdatie geleert, so unterbindest du das "Flackern" weil du somit überprüfen kannst "Gibt es eine neue Messages? JA = in Textbox schreiben, NEIN = nicht machen".
    Zudem kannst du via Threads oder Backgroundworker ein Puffer einbauen, wenn eine Message geschrieben werden soll, aber Person B hat noch zugriff auf die Datei um eben den eingelesenen Text zu löschen, mach das Programm von Person A eine Schleife, solange bis die Datei wieder freigegeben ist und schreibt es dann. Ebenso beim Auslesen, wenn die Datei geöffnet ist begibt sich Person B in eine Schleife und versucht die Datei zu öffnen bis es funktioniert.
    das hatte ich vorhin schon
    aber da gibts ein Problem der liest die Datein alle aus und schreibt sie rein ... jedoch dann steht es Pro name in einem Block also wenn mehrere Chatten dann schreibt es das nicht immer untereinander also wenn ich schreibe steht dran Markus: BLABLA
    dann soll untendrunter stehen Jemand: Blabla
    aber wenn ich jetz wieder was schreib dann stehts über "Jemand" also steht es Pro Name in einem Block
    das ist das Problem sonst hätt ichs so gemaht das wäre mir am liebsten...

    EDIT: es ist ein Chat wo alle chatten können also Gruppen Chat
    nicht einzeln

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „A-Zid“ ()

    Also, wenn nur innerhalb der Firma drauf zugegriffen werden können soll, geht Tcp/IP
    doch trotzdem, wenn einer außerhalb in den Chat will, muss ja der Port freigegeben sein,
    also sollte es auch darüber gehen,denn mit Textdateien ist das bei mehreren Leuten schon
    recht kompliziert, denke ich....
    vielen dank für die ANtwort nur leider weis ich nicht wie ich das umkonvertier das das ein Vb Projekt wird ich find nur was wo ich einzelne Code Abschnitte Convertieren kann wäre verdammt net wenn du mir das umkonvertieren könntest...


    und bis jetz schon mal: Vielen Dank an alle das ihr euch die mühe macht mir dummie sowas zu erklären!


    Mfg. ich =)
    Es wurde dir doch bereits ein Link zu dem TCP Tutoriual gegeben? Sry aber wenn du so was komplexeres machen willst musst du dich auch mit der Meterie auseinander setzten. Sowas ist eben nicht einfach mal schnell erklärt sondern schon etwas komplizierter.

    Zudem wird er auch nicht von Heute auf Morgen programmiert sein, selbst ich - der sich damit doch einigermaßen auskennt weil ich sconh damit gearbeitet habe - würde an so einem System sicher etliche Zeit verbringen.

    Mein Tip an dich wenn wirklich noch nicht so bewandert mit dem ganzen programmierkrams und speziell Netzwerk bist, rate ich dir zu einem fertig system. Es gibt mit sicherheit einige kleine kostenlose Chatprogramme die auf TCP basis funktionieren.