Bonjour,
Je suis entrain de concevoir un serveur en C qui gère la connexion des joueurs (Jeu en ligne :roll:). 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:
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 :calim2:Code:
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