C++ TCP IP Chat?
Hallo,
ich bin leider ein Anfänger was das Thema C++ angeht. Ich möchte einen TCP IP Chat programmieren. In VB.NET kann man dies hier gut machen: https://www.youtube.com/watch?v=W1g-sufUI38
Genau so stelle ich mir das ganze vor. Ein einfaches Programm...
In C++ finde ich nur Beispiele mit Servern...
https://github.com/AmineToualbi/TCPChat
Dies sieht ziemlich einfach aus und funktioniert auch. Trotzdem gibt es hier einen Server, warum? Es geht ja in VB.NET auch ohne. Ich weiß nicht wonach ich suchen muss. Geht das nicht mit C++?
2 Antworten
Ich habe mir das Video nicht angeschaut, ich hoffe allerdings dennoch, dass ich helfen kann.
Im Grunde benötigst du für einen Chat keinen Server. Dieser kann allerdings hilfreich sein für dne Verbindungsaufbau oder zur Pufferung von Nachrichten.
Es ist aber auch möglich, ohne Server einen Chat zu implementieren.
Flexibel geht das vermutlich, indem du einen Verbindungsaufbau mittels Broadcast bewerkstelligst(Dafür dürftest du allerdings ein anderes weiteres Protokoll benötigen, beispielsweise UDP).
Du hast einen Clienten, der auf einem vorgegebenen Port lauscht. Irgendein anderer Client sendet dann auf diesem Port im Broadcast eine vorher festgelegte Nachricht, die anzeigt, dass er eine Verbindung herstellen will.
Der Client,d er dies hört, antwortet dann auf diese Nachricht mit Initialisierung einer TCP-Verbindung.
Alternativ kannst du evtl. der Einfachheit wegen davon ausgehen,d ass du die Adressen der Clienten bereits kennst und dann direkt eine Verbindung zwischen diesen aufbauen.
Nach Aufbau der Verbindung hast du an jedem Client ein Stream zum senden und einem zum empfangen.
Auch im Video wird ein Server genutzt!
TCP funktioniert IMMER mit irgend einer Art Server, sonst käme keine Verbindung zustande.
Und natürlichh geht das auch in C++ oder nahezu jeder anderen Sprache. :)