Bonsoir,
J'essaye de faire un ptit chat client-serveur, le serveur fair un fork() pour chaque client connecté et lui dedi un child (qui n' est autre qu'un bucle pour recevoir des messages).
Puis, une fois qu'un message est reçu, celuici est envoyé au père via un pipe(), et le père s'occupe de l'envoyer à tout le monde.
Mais alors voila, ce que j'envoi à travers du tunnel sont des strings le problème étant celuici:
1er message envoyé par le fils:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // Child: msg = "abcdef"; write (fold [1], msg, strlen (msg)); // À travers de read () , le procès père lit "abcdef"
2ème message envoyé par le fils:
Donc voila, les données rèstent sur le buffer du pipe ce qui produit ce genre de résultats, donc je cherche le moyen de faire un nettoyage du tunnel après chaque envoi, j'ai déjà essayé avec fflush mais pas moyen.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // Child: msg = "123"; write (fold [1], msg, strlen (msg)); // À travers de read () , le procès père lit "123def"
Voilà, merci beaucoup pour votre aide.
Partager