Bonjour,
Je suis entrain de concevoir un serveur en C qui gère la connexion des joueurs (Jeu en ligne). Dans mon application, quand les joueurs se connectent, je dois leur envoyer une notification comme quoi la partie peut commencer. Pour cela j'ai utilisé une pile du genre :
Par ailleurs, j'ai une fonction EnvoyerRole pas encore complète :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 typedef struct Joueur { char *nom; int type ;/*dessinateur ou chercheur */ int score; int socket_id; struct Joueur *suivant; }*Joueur; /*file des joueurs */ typedef struct FileJoueur { int taille; Joueur *premier; }*FileJoueur;
Mais j'ai une erreur de segmentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 void EnvoyerRole(FileJoueur *fileJoueur,char role,char* MotADessinser) { char* message; strcat(message,"NEW_ROUND/"); strcat(message,role); strcat(message,"/"); strcat(message,MotADessiner); if(fileJoueur==NULL) exit(EXIT_FAILURE); Joueur *joueur=(*fileJoueur)->premier; while(joueur!=NULL) { /*un pti teste pour voir que sa marche */ printf(" le descripteur du socket est %d et le nom du client %s \n",(*joueur)->socket_id,(*joueur)->nom); joueur=(*joueur)->suivant; } } /*appele de la fonction quelque part dans le code du genre */ char *aDessiner="Mot a dessiner"; EnvoyerRole(&mesJoueurs,'0',aDessiner);
PS: mesJoueurs contient des elements
Partager