-
Chat peer2peer
Bonjour,
Je me demandais si il était possible de faire un chat p2p pour environ 300 personnes !
Si c'est possible, comment feriez-vous pour gérer tout ce qui est connection....histoire qu'il y ai pas une personne sur le chat qui fasse serveur pour tout le monde mais que la bande passante utilisé pour le chat soit bien réparti à chaque personne.
Merci d'avance...
-
Je pense que le mieux c'est d'avoir une file de connection : le serveur connecte les gens avec ses voisins, et donc toi, à chaque fois que tu reçois un message d'un voisin(ou de plusieurs voisins en même temps histoire de ne pas avoir de rigolos qui envoient des faux messages), tu l'interpretes comme un message serveur.
Ce message tu le répercutes ensuite de la même façon vers tes voisins :)
Donc le serveur ne s'occupe que de dire qui est voisin de qui, en prenant soin de ne pas laisser "d'orphelin" en cas de deconnection, et puis voila !
-
Y'a un article là-dessus dans le dernier Linux Mag. Une base pour partir vers un chat plus gros !
-
Peux-tu donner des détails techniques de la chose ?
J'ai pas trop envie d'acheter linux mag rien que pour ça :wink: Donc ça serait sympa si tu pouvais donner des pistes :)
-
Il était basé sur l'interface réseau de Qt3, il y avait encore des problèmes à résoudre, c'est une connexion sur un LAN, un PC qui arrive broadcast son arrivée en UDP et chaque ordinateur présent répond en TCP et ajoute le nom dans une liste. Y'a le pb si le PC fais une double arrivée par ex, ...
Ensuite, je ne sais plus comment c'était fait pour le reste. Il y avaut la possibilité de faire un pont vers un autre LAN, ...
-
Ah c'est un système sans serveur, hmm
C'est vrai que ce dont j'ai parlé necessite un serveur pour interconnecter les gens, ça permet de bénéficier des "avantages" liés au serveur (centralisation des arrivées/départs + statistiques générales) sans ses inconvénients (lenteur de la distribution par réseau quand elle passe par un serveur+"confidentialité")
-
J'ai l'intention de coder un tchat de ce genre avec Delphi, et toi ? Avec quel langage ?
Le serveur permettra de centraliser les utilisateurs (leur IP en particulier), mais permettra également la transmission de messages entre clients pour ceux qui ne peuvent pas se connecter directement par sockets (à cause des firewalls dans les entreprises surtout).