Flush socket C après send
Bonjour,
Je suis confronté à un problème avec une socket C en TCP. En effet, normalement en TCP la socket peut toujours être ouverte et le rester. C'est le but.
Mais quand je fais un send, si je ne fais pas de shutdown le send ne s'envoie pas. Il attend quelque chose. J'aimerais donc faire un flush ou utiliser une autre méthode que je ne connais pas.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9
|
char * requete = (char*) malloc(1024*sizeof(char));
sprintf(requete, "2:%s", nom);
err = send(socktcp, requete, (strlen(requete)+1), 0);
if ( err < 0 ) {
perror("client : Erreur lors de la recherche\n");
shutdown(socktcp, 2);
} |
Et avec ce code il y a donc un problème. Le send n'envoie rien tant que je fais pas de shutdown après. C'est étrange. Pouvez-vous m'aider ?
D'avance merci