Chat Standard Frage

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RushDen.

    Chat Standard Frage

    Hallo Leute,

    Nach dem ich jetzt seid ein paar Monaten an einem Anfänger Projekt schreibe , nämlich nem Chat , habe ich jetzt keine Idee wie ich es schaffen soll. Erst habe ich mit tcp gemacht. Da gibts ja tausende Tutorials und innfast jedem läuft der listender über einen Timer, was ja falsch ist. Mit Threads habe ich es auch schon probiert, hatte aber wenig erfolg weil ich mich in solchen Sachen nicht wirklich gut auskenne. Das einzige was ich über Threads Weiß ist, dass sie im Hintergrund die ganze Zeit wiederholt werden. Gestern habe ich mit ftp programmiert. Klappt super alles ok, aber dadurch dass ich ihn mit nem Timer alle zehn Sekunden aktualisieren haben lasse, kackt das ganze Internet ab. Manuell wäre auch blöd und nervig. Bitte bitte bitte kann mir einer helfen Entweder eine Lösung zum einfache Tcp Chat oder eine andere Möglichkeit einen Chat zu programmieren. :(
    Ich glaube niemand wird dir eine Lösung präsentieren und bitte mach den Chat nicht über FTP. denn die Nutzerdaten stehen 1 zu 1 in dem Programm.
    Es gibt ein gutes Tutorial dazu im Sourcecode-Austausch : [VB.NET] Multiserver (TCP)
    Da mit solltest du deinen Server echt einfach erstellen können.
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise
    FTP = File Transfer Protokoll. Jeder der meint so einen Dreck verbreiten zu müssen und noch die Frechheit besitzt dies Tutorial zu nennen sollte aus dem Netz auf unbestimmte Zeit verbannt werden. Ich werde dir nicht erklären weshalb aber der Name(also ausgeschrieben) und dieser kurze "Bericht": [02 Allgemein] Sicherheitsrisiken bei der Verwendung von Ftp und Datenbanken sollte ausreichen.

    Was TCP angeht: Da bist du schon mal viel eher richtig. Timer brauchst du dafür auf keinen Fall. Mit Threads bist du da sicher recht gut bedient. Prinzipiell brauchst du einen Server und mehrere Clients. Der Server verbindet halt alle Clients und die Clients reden dann mit dem Server welcher eben das wiederum an die anderen weitergibt. Jedoch ist die Annahme, dass sich Threads andauernd wiederholen auch falsch. Ein Thread kann exakt einmal ausgeführt werden. Ist der Code fertig, dann ist der Thread fertig und kann nicht erneut gestartet werden > muss man wieder einen neuen Thread machen. So funktioniert das auch bei einer normalen Visual Basic Anwendung. Es gibt einen Hauptthread, welcher beim Programmstart startet und deinen Code ausführt. Dadurch wird z.B. eine Konsole geöffnet. Ist kein weiterer Code zum Ausführen verfügbar, so beendet sich der Thread und der Prozess gleich mit. Bei Winforms Anwendungen läuft dies im Hintergrund etwas komplizierter, ist aber wenn man es genauer betrachtet zu 100% das Selbe Prinzip.
    Nun zum Problem: Wie du einen Thread startest findest du jede Menge Tutorials, was so oder so zu den Grundlagen zählt und ich fast vor dem Programmieren eines Chats mir anschauen würde(in .NET gibt es weit mehr Möglichkeiten als nur die klassischen Threads).
    Zum Beispiel findest du hier ein Beispiel: vb-paradise.de/allgemeines/sou…ch/28671-multiserver-tcp/
    Wenn du dich jedoch im Forum etwas umschaust, findest du noch einiges mehr.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    Lenfinalt schrieb:

    Nach dem ich jetzt seid ein paar Monaten an einem Anfänger Projekt schreibe , nämlich nem Chat , habe ich jetzt keine Idee wie ich es schaffen soll.
    Logisch, denn ein Chat ist kein Anfängerprojekt.
    Für einen Chat musst du vb.net richtig beherrschen, also Vererbung, Scopes, Shared Members, Enumerationen, Interfaces, Events, Properties, Threading, Arbeiten mit mehreren Projekten in der Solution, ...
    Zum Debuggen musst du dich auskennen mit: ObjectBrowser, Msdn, Lokalfenster, Haltepunkte, Überwachungsfenster,...

    Und das nur, um "Piep" vom Client zum Server zu schicken und zurück.
    Ein richtiger Chat hat noch ein Protokoll der verschiedenen Befehle, und ein Datenmodell, mit Sitzungen, Chatrooms, Membern etc. - da kommst du vlt. um eine DB herum, nicht aber um die datenbänkerische Denke, mit der man solch Datenmodelle konzipiert.

    Besondere Schwierigkeit ist auch das Testen, denn beinem Chat schreibst du immer 2 Anwendungen gleichzeitig, und funktionieren tuts nur, wenn die harmonisch miteinander arbeiten.

    Kurzngut: Lern erstmal vb, und nimm dir den "Chat" auf keinen Fall als Anfängerprojekt: dieses Buch lesen (hingegen das Galileio-Openbook ist Mist)
    Ein Virus ist nichts magisches der irgendwie überall herumflutscht. Jedoch falls du wirklich einen Angreifer hast, dann hat dieser bei FTP dermaßen leichtest Spiel, dass dafür nen billiges Script Kiddy reicht.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.