Bonjour
Mon problème est le suivant: je dois transmettre des données d'un processus à un autre par le biais d'une socket, en utilisant la librairie Winsock. J'utilise une socket type AF_INET, IP = 127.0.0.1 et port = 1026 pour effectuer des tests. Il se trouve que j'ai un problème lors de la l'écriture et/ou lecture sur la socket, selon la taille des données qui sont envoyées.
Le premier test que j'ai effectué fut d'envoyer 3733 octets d'un processus à l'autre. A l'aide de send et de recv, le transfert s'est correctement déroulé. Le deuxième test quant à lui fut d'envoyer 4972 octets. Et là cela n'a pas fonctionné: la valeur de retour de send() est correcte et indique bien le nombre d'octets envoyés, par contre recv() qui est bloquant n'arrive pas à récupérer les données. De plus, j'essaye seulement de lire les 4 premiers octets qui indiquent la taille du message. Même les 4 premiers octets ne semblent pas disponibles. Pour finir, j'ai effectué un dernier test qui consiste à envoyer une 2eme fois les données si celles-ci ne sont pas reçues, et la réception fonctionne lors de la 2eme écriture.
D'ou cela peut-il venir ?
Cordialement,
Julien.
Partager