Zum Inhalt springen

Chatprogramm in C++


Archelaus

Empfohlene Beiträge

Hallo,

ich bin neu hier und in C++ bin ich auch noch recht am Anfang, die Grundlagen jedoch kann ich "schon". Im moment versuche ich zur Übung ein Chatprogramm zu schreiben.

Bisher sieht es so aus:

#include <iostream>

#include <conio.h>


using namespace std;


main()

{

      string Username;

      string EnIP;


      cout << "Login..." << endl;

      cout << "Gebe deinen Usernamen ein." << endl;

      cin >> Username;

      cout << "Hallo " << Username << ", mit wem willst du sprechen? (IP Eingabe)" << endl;

      cin >> EnIP;

      cout << "Verbindungs aufbau zu " << EnIP << " ..." << endl;



}

Jedoch weiß ich jetzt nicht wie ich dann mit diesem anderem eine Verbindung aufbauen soll und der dann auch etwas reinschreiben kann dammit wir dann halt chatten können.

Gegoogelt hab ich auch schon, allerding wurde ich nicht fündig.:(

Hoffe ihr könnt mir helfen.

mfg

Archelaus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaube nicht, dass das eine gute Idee für eine Anfängerübung ist.

Chat bedeutet Netzwerkprogrammierung, und das sind zunächst mal Sockets. Sockets sind C. Da gibt's keine Klassen, und du musst mit Zeigern und Puffern hantieren, es sei denn, du benutzt ein Framework wie Boost.Asio, das ist aber auch nicht gerade Anfängerstoff.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo und danke erstmal für deine Antwort,

es sollte ein "simples" Dos-Chatprog werden. Und so der noob bin ich auch wieder nicht, ich brauche lediglich zu wissen wie es gehen kann und nach welchem Prinzip (und vieleicht auch ein nettes Beispiel^^).

mfg

Archelaus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin doch gerade dabei C++ zu lernen also wieso sagt ihr alle das es für Anfänger GARANTIERT NICHT geeignet ist? Es wäre echt nett wenn ihr mir wenigstens versuchen würdet es zu erklären wie es geht, mal sehen was dabei rauskommt.

THX in Advance.

mfg

Archelaus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin doch gerade dabei C++ zu lernen also wieso sagt ihr alle das es für Anfänger GARANTIERT NICHT geeignet ist?

Weil es so ist. Ich kapiere nicht, warum jeder Anfänger direkt mit "ich will einen Chat / Server usw" programmieren ankommt. Fangt doch bitte erst mal bei den Grundlagen an: Was sind Zeiger, Arrays, Struct, Klassen, usw

Aber wenn Du meinst, dass Du das alles beherrschst, bitte: Boost.Asio

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm, damit man es versteht, wie das mit den Sockets funktioniert, würd ich nicht gleich zu Boost raten, sondern viel mehr die C-Grundlagen, die dahinter stecken, erläutern: Socket Programmierung

mmmh, also ich bin da ja auch lieber für die Boost, aber das liegt daran, weil sie mir mehr zusagt und ich durchaus weiß wie Socket funktionieren, aber wenn wir gleich dabei sind, warum nicht noch Multithreading und synchrone bzw asynchrone Datenübertragung oder MPI Bibliothenken wie OpenMPI, MPI CH 2 oder MS-MPI. Ist doch ganz leicht für einen Anfänger :floet:

*scnr*

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK, ich merk schon das wird um einiges komplizierter als ich dachte...

Da ich jetzt mich jetzt erstmal etwas mit Socketprogrammierung beschäftigen werde, würde ich es echt nett finden wenn jemand ein Beispiel geben kann wie es dann so in etwa aussehen könnte das ich mich dann halt mit dem anderen PC verbinde. Dann könnte ich es halt nach meinen Vorstellungen "umgestalten", etc.

mfg

Archelaus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da ich jetzt mich jetzt erstmal etwas mit Socketprogrammierung beschäftigen werde, würde ich es echt nett finden wenn jemand ein Beispiel geben kann wie es dann so in etwa aussehen könnte das ich mich dann halt mit dem anderen PC verbinde.

Wie wäre es mit Multi- und Unicast? Bevor Du Sockets programmierst, lerne erst einmal die notwendigen Grundlagen bezüglich Netzwerktechnik und -aufbau. Z.B. Subnetzmasken, Host- / Broadcast- / Netzadresse, Routing, UDP, TCP, IP, Multi- und Unicast.

Beispiel für einen Chat:

Boost C++ Libraries - doc/html/boost_asio/example/chat/chat_message.hpp

Boost C++ Libraries - doc/html/boost_asio/example/chat/chat_client.cpp

Boost C++ Libraries - doc/html/boost_asio/example/chat/chat_server.cpp

Dann könnte ich es halt nach meinen Vorstellungen "umgestalten", etc.

Aha und die wären: Dein im ersten Post genanntes Chatprogramm!?

Wie wäre es, wenn Du einmal bei Grundlagen beginnst z.B. wie Du eine Dezimalzahl in Hexadezimal-, Octal- und Binärsystem umrechnest. Oder eine einfache Oberfläche für Dein Programm entwirfst. Außerdem wäre das OOP Konzept, wenn Du schon unter C++ arbeitest, zunächst zu lernen

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich würde dir vorerst von einem Chat auch abraten. Ich beschäftige mich schulisch seit mitlerweile fast 2 Jahren mit C++ und Programmierung und bin bei weitem auch noch nicht so weit, dass ich mir zutrauen würde, einen Chat zu programmieren. Beschäftige dich, wie oben schon erwähnt erst mal mit den Grundlagen wie Strukturen, Klassen, Zeiger, Objekte und lern objektorientiertes Programmieren, da kannst dann schon ganz tolle Sachen mit machen. Aber um ein Programm zu schreiben, dass auf ein Netzwerk zugreift, benötigt es weit mehr als nur Programmieren zu können. Du musst ja schließlich auf die richtigen Teile des Netzwerks zugreifen und deine Nachrichten richtig "verpacken" und da wartet nochmal sehr viel input, bis man das mit einem Programm kombinieren kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...