cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 2009
-
14 nov. 2004 à 00:10
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 2009
-
15 nov. 2004 à 18:02
Bonsoir,
Voila, il m'arrive un truc assez bizarre, j'ai remarqué ce probleme depuis quelques jours déja, et j'avoue que je n'y trouve aucune solution...
Dans le code suivant, si je mets la MessageBox() qui est en commentaire, le tab iCards est correctement envoyé, alors que si je ne le mets pas, il n'est pas correctement envoyé :
for (i = 0; i < 32; ++i) { //Melange les cartes
temp = iCards[i];
j = getrandom(0, 10);
iCards[i] = iCards[j];
iCards[j] = temp;
}
send(sck_other, "DEAL", 5, 0);
//MessageBox(0, 0, 0, 0);
send(sck_other, (const char *)iCards, 128, 0);
Je trouve ca VRAIMENT bizarre, et ne vois pas pkoi il se passe ca, si quelqu'un a une explication...
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 14 nov. 2004 à 00:56
Salut,
Si tu enleve la messagebox, y'a de forte chances pour que le "DEAL" et le tableau soient envoyés en meme temp.
Et dans ce cas la, ce n'est pas un probleme, c'est normal en tcp/ip.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 14 nov. 2004 à 17:20
Salut,
En TCP, tout ce que tu envoies doit etre mis dans une structure qui contient la taille des données que tu envoies. Comme ca, celui qui recoit peut extraire chaque "message" de donnée que tu envoies, sans ambiguité.
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 14 nov. 2004 à 22:05
Tu veux parler d'une structure de ce genre :
struct packet {
int len;
char msg[256];
}
?
Je ne vois pas trop l'interet alors, puis ce que send permet de specifier la taille du msg a envoyer.
J'ai ptet mal compris ce ke tu voulais me dire, donc n'hesite pas a m'embeter ;)
Merci
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 14 nov. 2004 à 22:46
Salut,
En gros c'est ca, sauf que je mettrais msg[1].
Pour chaque paquet, il faudra allouer la structure dynamiquement afin de controler la taille du tableau msg[].
L'interet est simple: si tu recois 2 messages (ou plus) en meme temp, tu peux facilement les retrouver et les extraire car tu as la taille de chaque message.
Dans le code que tu montres plus haut, les 2 messages sont envoyés en meme temp, et visiblement ca a posé probleme car tu pensais que le 2eme message n'etais pas envoyé.