Chat über Windows Server

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Runshak.

    Chat über Windows Server

    Guten Abend!

    Ich hätte eine Frage bezüglich eines kleinen Projekt das ich vorhabe zu starten.

    Ich möchte einen kleinen Chat programmieren der jetzt nichts großartig komplexes werden soll sondern schlicht und einfach.

    Das ganze möchte ich aber über meinen Windows Server laufen lassen.

    Meine frage also jetzt:

    Wie stelle ich das am besten an?
    Kann mir vielleicht jemand Tipps dazu geben?

    Und ist es denn überhaupt möglich dies über solch einen Server zu machen, da FTP ja dafür nicht geeignet ist.
    Selbst für einen mini chat solltest du mindestens die hälfte von dem hier beherrschen:
    vb.net, C# oder Java?

    Wichtig ist das Verstehen des Server-Client Modells, und dass ein Server dazu in der Lage sein muss mehrere Clients gleichzeitig zu bedienen. Das widerum erfordert das Wissen über Threading. Dann darf man sich noch entscheiden, arbeitest du mit UDP (eher nicht) TCPClient/Listener oder doch auf socket basis? Erzeugst du selbstständig Thread-Objekte, Arbeitest du mit dem threadpool, den Tasks, oder doch auf Async basis (Sockets haben Eventbasierte Async Methoden) oder doch async/await?

    Dann ist noch wichtig, ob du selbst die Daten von was auch immer in Bytes verwandelst, oder ob du das per Serialisierung erledigst.
    Und auch nicht vergessen darf man dann den Datenbankteil, sofern du den Chatverlauf speichern möchtest. Oder sowas wie nen Login haben möchtest...

    Ein Chat ist kein kleines Projekt. man kann es sicherlich schnell und halbherzig hinklatschen mit Quellcode den man hier überall auf der Seite findet. Doch wirklich "gut" wird er erst mit einigem an Arbeit.
    Erstmal danke für die rasche Antwort!

    Was würdest du mir empfehlen also mit welcher Möglichkeit wäre ich am Sichersten unterwegs bzw. welche Methode wäre am besten geeignet oder sind hierbei alle gleich gut geeignet?

    Ich will auf jeden Fall keinen Fremden Code verwenden da ich meine Programme (welche auch immer) immer selbst schreibe.
    In der Programmierung geht es nicht darum, das Rad ständig neu zu erfinden, sondern das was andere geschrieben haben zu verstehen und eventuell noch zu optimieren.

    Les' dich einfach mal in die Sockets bzw. TCPClient und -Listener ein. Und je nachdem was dir besser gefällt, nimm es.
    Grundlegend arbeitet man bei den TCP geshcichten mit einem NetworkStream, wohingegen man bei den Sockets einzelne Send() und Receive() Funktionen hat. Beides hat seinen Charme.

    Und was das Threading angeht... das muss man ebenso mit sich selbst und der Kommunikationsmethode ausmachen.

    Das beste ist es, wenn man mit Netzwerkprogrammierung noch nicht viel am Hut hatte, das Threading erst einmal außen vor zu lassen, und sich nur um die Verbindung und das Protokoll zu kümmern.
    Ich möchte dich auf keinen falschen Weg führen...aber mit WCF könnte man das doch auch machen...auch mit TCP...aber wenn du das noch nie gemacht hast, wird das nicht einfach...