Bonjour,
Je suis débutant dans l'utilisation des sockets et j'aimerais amélioré un mini chat que j'ai trouvé sur ce site.
Sans passé par les détails, voici ma question :
Pour l'instant, j'ai :
while(continue)
{
while(!kbhit())
{
error = recv(sock, bufferRecv, sizeof(bufferRecv)-1, 0);
if(error != (-1))
{
bufferRecv[error] = '\0';
printf("Server dit : %s\n", bufferRecv);
}
...
}
... // autres instructions
}
Ce que je veut c'est que quand on appuie sur une touche, sa éxécute les "autres instructions" et que sinon, si il y a des données dans le buffer (provenant d'un autre PC qui utilise send(...)), sa les affiches. Hors là, le programme passe le while(!kbhit) puid il s'arrête sur "error = recv(sock, bufferRecv, sizeof(bufferRecv)-1, 0);" car aucune donnée n'est reçu. Je veux alors qu'il y ait un timeout sur la fonction recv() :
si une donnée est reçu avant la fin du timeout, sa affiche "Server dit : tata" et si le timeout se passe en entier, que sa fasse les instructions suivantes.
J'espère que j'ai été assez clair,
Merci d'avance ;-)
Damien