salut,
j'ai deux send sur le serveur successifs, le client prend comment si il est un send:
exemple:
serveur client
send(data1) recv(data1+data2)
send(data2)
alors qu'ils sont deux données différentes :s
salut,
j'ai deux send sur le serveur successifs, le client prend comment si il est un send:
exemple:
serveur client
send(data1) recv(data1+data2)
send(data2)
alors qu'ils sont deux données différentes :s
Pas de Wi-Fi à la maison : CPL
Oui bien sur.
j'ai deux programme Client et Serveur.
a un moment le serveur envoie au client deux données différentes sur deux,
{
send(numero_socket,&donne_a_envoyer_1,size,0),
send(numero_socket,&donne_a_envoyer_2,size,0),
}
pour le cient j'ai deux recv pour chaque send, donc
{
recv(numero_socket,&donne_a_recevoir_1,size,0),
recv(numero_socket,&donne_a_recevoir_2,size,0),
}
mais lors de l'excution , le premier recv reçoit tout, donc
donne_a_recevoir_1=(donne_a_envoyer_1+donne_a_envoyer_2)
donne_a_recevoir_2=NULL
j'ai fais mon max
Oui, c'est possible. Il n'y a rien qui dit que pour un send() il y a un receive(). C'est à toi de structurer tes données (par exemple des lignes de textes) de façon à séparer les informations. C'est ce qu'on appelle un protocole applicatif.
Par exemple :
send(sock, "hello\n");
send(sock, "world\n");
reception :
recv() -> "hello\nworld\n"
Il est ensuite facile de séparer les données en "hello" et en "world" ...
Evidemment, si tu m'as pas mis de séparateur : "helloworld", c'est impossible...
Pas de Wi-Fi à la maison : CPL
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager