[Chat] Client -> Client Verbindung mittels Server`s
Verfasst: 10. Februar 2010 14:06
Hallo Leute!
Ich programmiere derzeit an einer Chat-Plattform welche aber nicht das gewöhnliche Versenden von Textnachrichten sondern auch Dateien usw. beherrschen soll.
Mein Derzeitiger Gedankenstrang ist folgender und ich hoffe ich ihr habt ein paar Tipps für mich:
Jeder Client meldet sich zunächst am Server an und authentifiziert sich.
Der Server speichert für jeden Clienten individuelle Abwesenheits-Informationen, gibt ihm die FreundeListe aus usw. usw.
Bevor zwei Clienten miteinander chatten können müssen die 2 Clienten sich untereinander kennen (Port & IP) und erfragen somit immer beim erstellen einer neuen Chat-Sitzung den Port und die IP-Adresse des Clienten. Die sollen dann nämlich untereinader direkt schreiben können, ohne das ein Server dazwischen sitzt.
Meine Fragen:
Müsste demnahc nicht die Client-Software mindestens zwei QTcpSocket (Serververbindung & mind. 1 ClientSocket) benötigen?
Zusätzlich noch ein QTcpServer für das Empfangen von Nachrichten eines anderen Clienten?
Wenn ClientA an ClientB schreiben will müsste dann nicht beim Server ClientB ausgewertet werden, so das man die IP & den Port erhällt auf dem der ClientB lauscht?
Wie könnte ich sicherstellen kann das der QTcpServer bei dem Clienten wirklich über das Internet erreichbar ist, ohne das jeder Chat-Benutzer erst eine Port-Weiterleitung am Router setzen muss?
Vielen Dank im vorraus!
Mineralwater
Ich programmiere derzeit an einer Chat-Plattform welche aber nicht das gewöhnliche Versenden von Textnachrichten sondern auch Dateien usw. beherrschen soll.
Mein Derzeitiger Gedankenstrang ist folgender und ich hoffe ich ihr habt ein paar Tipps für mich:
Jeder Client meldet sich zunächst am Server an und authentifiziert sich.
Der Server speichert für jeden Clienten individuelle Abwesenheits-Informationen, gibt ihm die FreundeListe aus usw. usw.
Bevor zwei Clienten miteinander chatten können müssen die 2 Clienten sich untereinander kennen (Port & IP) und erfragen somit immer beim erstellen einer neuen Chat-Sitzung den Port und die IP-Adresse des Clienten. Die sollen dann nämlich untereinader direkt schreiben können, ohne das ein Server dazwischen sitzt.
Meine Fragen:
Müsste demnahc nicht die Client-Software mindestens zwei QTcpSocket (Serververbindung & mind. 1 ClientSocket) benötigen?
Zusätzlich noch ein QTcpServer für das Empfangen von Nachrichten eines anderen Clienten?
Wenn ClientA an ClientB schreiben will müsste dann nicht beim Server ClientB ausgewertet werden, so das man die IP & den Port erhällt auf dem der ClientB lauscht?
Wie könnte ich sicherstellen kann das der QTcpServer bei dem Clienten wirklich über das Internet erreichbar ist, ohne das jeder Chat-Benutzer erst eine Port-Weiterleitung am Router setzen muss?
Vielen Dank im vorraus!
Mineralwater