Bonsoir.
J'ai un problème avec mon programme socket serveur, la fonction read qui permet de recevoir une chaine de caractère déconne dès que je la mets dans une boucle j'ai une erreur de segmentation, tandis que quand j'enlève la boucle ça marche.
Donc sans la boucle ça marche avec non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 char recu[30]={0}; while(strcmp(recu,"eteindre")!=0) { memset(recu,0,sizeof(recu)); //met a zero sur toute la taille de la variable recu read(fdaccept,recu,sizeof(recu)); //ici je recois par exemple "bonjour". //fdaccept est une variable qui contient le resultat de la fct accept (librairie socket) reconnaissance(recu); // passage de recu à la fct reconnaissance. }
J'utilise la boucle pour rester en écoute d'un nouveau message, pour avoir plusieurs messages.
J'ai fait des recherches et on parle d'entrée/sortie bloquante ou non bloquante, situées dans la bibliothèque stdio.h, mais je pense qu'il a une solution plus simple, j'espère.
Merci d'avoir lu jusqu'à la fin merci.![]()
Partager