[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] pipes



At 00:57 25/03/2001 +0100, you wrote:
On Sat, 24 Mar 2001, Laurent Frisee wrote:
> J-C Hendrickx wrote:
> > Quelqu'un pourrait-il m'éclairer sur ce qu'est et comment
> > utiliser un _pipe nommé_ ?

> wi, c'est un moyen de communiquer entre 2 pc sous windows. Si je me
> rappelle bien, tu ne peux en créer qu'un sur une machine NT mais tu peux
> te connecter depuis n'importe quel windows. Je sais pas pour les windows
> 2000 et Me.
Il existe différentes notions de "pipe".

1) Le tube anonyme. Il est créé par un process qui le légera généralement à un fils après un fork(). Il permet aux process de s'échanger des infos. On utilise mkfifo().

2) Le tube nommé. Il s'agit d'un fichier de type "pipe" repéré par un "p" dans le "ls -l". Ce fichier est ouvert par un process qui écrit et un autre qui lit. Il se crée par mkfifo ou mknod.

3) Les tubes nommés sur réseau. C'est comme un tube nommé classique mais il marche sur un réseau. Dans le cas précis de Netbios, on programme crée un tube avec un certain nom (netbios est basé sur des noms broadcastés, pas des adresses) et les autres machines (ou la même) ouvrent ce tubent simplement et communiquent ainsi d'une machine à l'autre. Attention, c'est un très mauvaise idée d'utiliser des tubes nommés sur Windows 95. Sous Unix, certains softs comme les "distributed IPCs" permettent des fonctionnalités similaires (j'ai même vu des shared memory distribuées).

Je peux détailler la façon de programmer les tubes sous Unix mais il faut que je ressorte mes cours parce que je n'ai plus fait ça depuis lontemps.

Comme le dit Alex, il ne faut pas mélanger les tubes Netbios et les tubes Unix, ce n'est pas la même chose même si c'est voisin.

Eric.



[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php ]
[ http://LinuxBe.org Contact: listmaster@linuxbe.org ]