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
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...
Partager