Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Software » Wie funktionieren Chatprogramme wie ICQ/MSN Messenger e.t.c?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2006, 17:17 Uhr
Audron-AT-www
http://www.sXene.de Audron@sxene.de
(Operator)


Hallo!

Ich versuche schon länger, ein geeignetes Chatprogramm in VB6 zu programmieren.

Ich benutze natürlich das WinsockControl. Nun brauche ich aber mehrere Winsocks und damit "muss" der User mehrere Ports öffnen, damit diese die Chatnachrichten ovn einem Rechner auf den anderen übertragen kann.

Aber ich kann dem User nicht immer zumuten, für ein kleines Chatprogramm soviele Ports zu öffnen, sogar einer ist zuviel.

Wenn man sich jetzt aber Chatprogramme wie ICQ oder den MSN Messenger anguckt, klappen diese ohne einen einzigen Port zu öffnen.

Auch Spiele die man online spielt benötigen kein Öffnen eines Ports.

Wie funktioniert das?
--
Mit freundlichen Grüßen
Audron, audron@sxene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.06.2006, 17:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi, icq und co laufen über server, z.b login.icq.com:5190 d.h der client baut von einem beliebigen port > 1024 eine verbindung dorthin auf, und alle daten gehen da drüber. ICQ hat auch die möglichkeit mit clients direkt zu verbinden, dann stellt einer der clients einen port auf "warten" und wartet darauf das der andere client dahin verbindet, direkt eben. Ansonsten "machst" du immer einen port "auf" sobald du eine tcp-verbindung aufbaust, nur steht der eben nicht auf "warten" sondern eben auf "verbinden nach xyz". Da die meisten Router die NAT benutzen meist interne verbindungen nach außen direkt weitergeben, musst du dafür auch keine ports "freigeben". (das meinst du denke ich mit "port öffnen")

Spiele machen das genauso, es gibt aber auch einige bei denen man welche "öffnen" muss, da dann Daten/Verbindungen von "außen" "rein" müssen, nicht nur von "innen" "raus".

Bei deinem Chatprogramm heißt das konkret:

Du brauchst ein Serverprogramm, bei dem dann ein port "offen" sein muss, damit clients verbinden können. für deine Clients an sich musst du aber keine ports "öffnen", solang diese mit dem Server verbinden, und nicht der server mit den clients (gibt ja auch keinen sinn)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.06.2006, 18:41 Uhr
Audron-AT-www
http://www.sXene.de Audron@sxene.de
(Operator)


Also...:

Client -> Daten an den Server
Server:
Winsock Control nimmt die Daten an und verarbeitet diese...

Soweit, sogut.
Nun muss der Server die Daten doch wieder an den anderen Clienten schicken...
Also müssen Daten von außen nach innen... Da müsste doch theoretisch ein Port geöffnet werden?

Oder habe ich da was falsch verstanden?
--
Mit freundlichen Grüßen
Audron, audron@sxene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.06.2006, 18:54 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja

normal behälst du ja die verbindung bei vom client bzw den clients zum server, d.h du schickst über die bestehende verbindung daten. TCP/IP ist ja verbindungsorientiert, d.h client verbindet zu server und dann kann danach bidirektional daten transferiert werden.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.06.2006, 19:04 Uhr
Audron-AT-www
http://www.sXene.de Audron@sxene.de
(Operator)


okay, ich glaube soweit habe ich das verstanden Vielen Dank

PS: Ich mags immer, wenn man mir sagt, dass ich etwas falsch verstanden habe, weil dann immer ein unlösbares Problem für mich klar wird

Danke nochmal
--
Mit freundlichen Grüßen
Audron, audron@sxene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Software ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: