Jeu en réseau

cs_bubbless Messages postés 14 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 1 mars 2005 - 23 févr. 2004 à 12:53
CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008 - 28 mai 2005 à 15:45
Bonjour,

Et à l'aide ! ;) Je me suis mis récemment à programmer en c et, je doit actuellement réaliser un projet pour la fin de l'année : le jeu des chiffres. Bon, pour l'algorithme, c'est déjà fait, mais, en fait, je souhaite faire un vrai truc complet, donc, je voudrais offrir au joueur la possibilité de jouer en réseau. j'ai donc fureté un peu partout sur internet, et, je crois maintenant avoir compris en gros les commandes nécessaires, et le principe de programmation d'un serveur et d'un client. Toutefois, je maperçois que au moment de mettre la main à la pâte, il y a quand même quelque chose que je ne comprends pas, et qui me parait pourtant très bête... Voilà : lorsque je veux lancer une partie à plusieurs, il me faut lancer sur un des ordinateurs un serveur, qui va attendre la connexion des autres sur un port (arrêtez moi si je me trompe...). dès lors, les ordinateurs connectés communiqueront pr l'intermédiaire du serveur. Mais, tout d'abord, comment je fais pour dialoguer avec les autres si j'ai lancé le serveur sur mon propre serveur ? Il n'est pas possible de lancer en plus une application client ? Comment faire ? De plus, un serveur en flux simple peut envoyer des chaines de caractère je crois, donc, c'est amplement suffisant pour le chat, non ?
merci de toute réponse !

Aurélien

3 réponses

cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
23 févr. 2004 à 13:10
Pour ton premier probleme
Tu executes le client sur le poste ou t as ton serveur ca ne pose pas de probleme
tu fais appel à l adresse de loopback de ta carte reseau (127.0.0.1)

Chevalier Pheno Starboard, membre de la Freeman-Corp
0
cs_kawito Messages postés 24 Date d'inscription dimanche 20 juillet 2003 Statut Membre Dernière intervention 13 décembre 2005
4 mars 2004 à 15:23
salut,

c'est le principe, un serveur et n clients qui communique a travers le serveur.
ton application doit etre client/serveur, c'est a dire que le joueur doit pouvoir choisir entre demarrer un serveur ou un client.

le joueur qui demarre un serveur sur sa marchine et n'a pas besoin de lancer un client, tu devra gerer differement pour le joueur qui sera serveur.

pour faire des tests en local, si tu n'a qu'une machine, tu peut comme le dit pheno, lancer un serveur,lancer un client qui se connectera a l'adresse de loopback 127.0.0.1.

le principe est facile, dir comme ça, j'ai moi meme galeré a trouvé une architecture client/serveur.

j'ai opter pour winsock1.1(pour etre portable) client/serveur TCP, mode bloquant
et multithread car les fonctions accept et recv sont bloquante.
je suis en cours de realisation de class c++ client/serveur.
le serveur lance un threadAccept (pour la connexion des clients) , ce threadAccept a la connexion d'un nouveau client,lance un threadReceptionClient dedié a recevoir les données provenant de ce client.

cote client, il n'y a qu'un threadReception qui gere les données recu du serveur.

une liste dynamique gere les clients connectés

et voila un client/serveur capable de gerer N clients.

kawito
0
CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008
28 mai 2005 à 15:45
D'accord mais omment on fait (et es ce que c'est posible) de mettre ton serveur sur un vrai serveur ( sur internet)???
Comme ca on pourrait faire un multijoueur vraiement multijoueurs avec un nombre de joueur infini.

Colin CHARGY
[mailto:colin_chargy@hotmail.com colin_chargy@hotmail.com]
0
Rejoignez-nous