cs_bubbless
Messages postés14Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention 1 mars 2005
-
23 févr. 2004 à 12:53
CChargy
Messages postés126Date d'inscriptionsamedi 24 avril 2004StatutMembreDerniè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 !
cs_pheno
Messages postés141Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention23 mars 20051 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
cs_kawito
Messages postés24Date d'inscriptiondimanche 20 juillet 2003StatutMembreDernière intervention13 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.
CChargy
Messages postés126Date d'inscriptionsamedi 24 avril 2004StatutMembreDerniè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]