Bonjour a tous.
Je suis actuellement en train de coder un envois de trois données avec le client tcp de Borland c++ builder 6. Mais le soucis est que mes données ne sont jamais envoyée dans le même ordre dirait-on. De plus, le serveur est un socket en C tout simple et non fait sur borland.
Bout de code d'envois du client. Celui là est dans un timer qui répète l'opération toute les secondes :
Code C/C++ :
strcpy( T_interieure,Edit4->Text.c_str());//On va donner la valeur 30
strcpy( T_exterieure,Edit5->Text.c_str());//On va donner la valeur 10
strcpy( buffery, Affiche_Prix->Text.c_str());//On va donner la valeur 0.02
sprintf(buffery, "%e", Prix)//Prix est une variable double
TcpClient1->SendBuf(T_interieure,sizeof(T_interieure));
TcpClient1->SendBuf(T_exterieure,sizeof(T_exterieure));
TcpClient1->SendBuf(buffery,sizeof(buffery));
et a la réception, cela donne :
Première valeur:30
seconde valeur:☺# ♦0.02
troisième valeur :
Première valeur:☺# ♦0.02
seconde valeur::30
troisième valeur :10
Voila le bout du client en C:
Code C/C++ :
while(1)//Pour le test
{
if(recv(sock, bufferreception ,sizeof(bufferreception), 0)!= SOCKET_ERROR) //reception des données en charactere
strcpy(buffer1, bufferreception);
if(recv(sock, bufferreception, sizeof(bufferreception), 0) != SOCKET_ERROR)
strcpy(buffer2, bufferreception);
if(recv(sock, bufferreception, sizeof(bufferreception), 0) != SOCKET_ERROR)
strcpy(buffer3, bufferreception); // test des deux buffers
printf("Premiere valeur %s\n",buffer1);
printf("seconde valeur est %s\n",buffer2);
printf("troisième valeur : %s\n",buffer3);}
Si quelqu'un a une idée, je suis largement preneur. Voila trop longtemps que je suis bloqué dessus