Forum Programmation.c probleme de compréhension avec la socket (local)

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
13
mar.
2019

Bonjour à tous,

j'avais testé de communiquer avec des processus via des tubes nommés et le principe de fonctionnement était tres compréhensible, si je voulais communiquer avec deux processus j'ouvrai un tube nommé sur mon programme serveur, et j'attendais que le client envoie un message sur le tube nommé du serveur. Le message qu'envoyait le client était le tube nommé du client, et je pouvais ainsi communiquer: Je fesais l'appelle systeme read sur le descriptor de fichier du tube nommé du client et un write sur le descripteur de fichier du tube nommé du serveur.

J'ai fait cet exercice car j'imaginais les sockets fonctionnaient comme ca sauf qu'ils échangent des adresses IP à l'initialisation et non des tubes nommés comme je fais, mais en faite pas du tout.

Le probleme c'est qu'en TCP par exemple j'utilise les appelles systeme read et write mais sur le meme descriptor de fichier alors qu'avec les tubes nommés j'avais un descripteur de fichier pour lire et un autre pour écrire.
Comment avec les sockets je peux lire et écrire sur la meme zone mémoire car je pourrais tres bien lire ce que je viens d'écrire.

J'espere que vous avez compris mon probleme.

Merci d'avance pour votre aide

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.