Bonjour à tous,
après quelque recherche sur google je ne trouve toujours pas de solution à mon problème, mon but est de réaliser un jeu de "air hockey" en réseau.
Je veux en faite passer les informations sur la position de la balle, et les positions des palets de chacun des 2 joueurs, par le biais d'un tableau de 6 cases.(position x et position y * 3)
Fonction qui reçoit ce que l'ordinateur à l'adresse distante envoie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 struct param { SOCKET socks; signed short nb; unsigned short Pos[6]; // ={1,2,3,4,5,6}; };
J'envoie un message par le buffer avec le serveur et je regarde la valeur de mes Pos[x],et toutes les cases sont vides.
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
24
25
26
27
28
29
30
31
32
33
34
35 void * recevoir(void * p_data) { struct param * toto = (struct param*) p_data; char buffer[50]; signed short lon=50; printf("Reception ONLINE\n"); while (1) { lon=0; memset(buffer,0,sizeof(buffer)); lon = recv(toto->socks,buffer,sizeof(buffer),0); memset((char *)toto->Pos,0,sizeof(toto->Pos) ); recv(toto->socks,(char *)toto->Pos,sizeof(toto->Pos),0); if (lon == 50) { printf("\nkev dit: %s\n",buffer); printf("\nposition 0 = %c\n",toto->Pos[0]); printf("\nposition 1 = %c\n",toto->Pos[1]); printf("\nposition 2 = %c\n",toto->Pos[2]); printf("\nposition 3 = %c\n",toto->Pos[3]); printf("\nposition 4 = %c\n",toto->Pos[4]); printf("\nposition 5 = %c\n",toto->Pos[5]); toto->nb--; printf("compteur reception : %hd\n",toto->nb); } } printf("Conection serveur perdue"); }
Je ne vois pas pourquoi elles ne prennent pas les valeurs (1,2,3,4,5 et 6) que j'ai défini au début.
Je n'ai aucune erreur de compilation ni de warning mon seul problème est que mes positions ne prennent pas les valeurs demandées.
Merci pour vos réponses.
Partager