Bonjour mon journal,
J'ai une appli en tcl/tk qui tourne sous linux et solaris, qui comporte plusieurs fenètres qui communiquent par des pipes.
Et là je voudrais (enfin mon chef voudrait...) que ca tourne aussi sous windows.
Mon problème est donc que j'ai pas trouvé comment faire créer les pipes nommés sous windows (nt4 ou 2000).
J'ai essayé avec cygwin, mais mknod a l'air de pas être implémenté.
J'ai essayé aussi avec fileutils de gnuwin32 mais rien à faire un mknod test p ne veut rien faire.
Est-ce que quelqu'un connaitrait un moyen de faire ca simplement, avec un code portable windows/unix ?
Merci d'avance mon journal
# Re: Pipes nommés sous Windows
Posté par LeMagicien Garcimore . Évalué à 1.
Ptetre que cygwin gere les socket unix, on peut rever :)
[^] # Re: Pipes nommés sous Windows
Posté par B r u n o (site web personnel) . Évalué à 1.
[^] # Re: Pipes nommés sous Windows
Posté par B r u n o (site web personnel) . Évalué à 2.
The two most common addressing schemes are AF_UNIX and AF_INET. AF_UNIX addressing uses UNIX pathnames to identify sockets; these sockets are very useful for IPC between processes on the same machine. AF_INET addressing uses Internet addresses which are four-byte numbers usually written as four decimal numbers separated by periods (such as 192.9.200.10). In addition to the machine address, there is also a port number which allows more than one AF_INET socket on each machine.
Ca se traduirait par :
Les deux systèmes d'adressage les plus communs sont AF_UNIX et AF_INET. L'adressage AF_UNIX utilise des chemins d'accés UNIX pour identifier les sockets; ces sockets sont trés utiles pour les communications inter-process sur la même machine. L'adressage AF_INET utilise des adresses Internet qui sont des nombres sur 4 octets habituellement représentés par 4 nombres décimaux séparés par des points (par exemple : 192.9.200.10). Bon, aprés, ca parle du port pour accéder à la socket, tout le monde aura compris :)
Ca vient de là : http://world.std.com/~jimf/papers/sockets/sockets.html(...)
En fait, y a pas grande différence entre une socket AF_UNIX et un pipe nomé!
# Re: Pipes nommés sous Windows
Posté par Schwarzy . Évalué à 1.
Il faut se rabattre sur les mailslots. Je suis un gros feignant et je te laisse cherche la doc :). L'interface utilise l'API du file system sous windows.
Attention, c'est de plus en plus lent à chaque version de windows.
Il y a aussi les Unix sockets qui sont disponibles aussi mais je ne sais pas ce que ca vaut et la portabilité (ou plutot la quantité de bugs) entre les différentes versions de windows.
Attention aussi, les sockets sont à la sauce MS et il vaut mieux passer par une surcouche pour masquer la tuyauterie suplémentaire dans les sockets Windows.
[^] # Re: Pipes nommés sous Windows
Posté par Schwarzy . Évalué à 2.
Donc le plus portable c'est les sockets unix (AF_UNIX, AF_INET c'est pour le IP [Internet Protocol]). Tu peux aussi passer par l'interface de boucle local si tu utilises AF_INET.
Je n'ai aucune idée des performances mais ca doit pas être grandiose.
[^] # Re: Pipes nommés sous Windows
Posté par Cédric Foll . Évalué à 2.
La diff c'est que c'est en RW pour tout le monde alors que les pipes nommées ont un prog qui lit et un prog qui écrit.
C'est bcp plus rapide qu'un socket AF_INET (en tout cas sur Linux).
# Comparatifs IBM
Posté par daggett . Évalué à 3.
pipes anonymes, mais apparemment sous win l'API est la meme pour les pipes nommés: http://www-106.ibm.com/developerworks/linux/library/l-rt4(...)
synchro de process/thread, et encore des pipes : http://www-106.ibm.com/developerworks/linux/library/l-rt5(...)
programmation socket: http://www-106.ibm.com/developerworks/linux/library/l-rt6(...)
process et threads : http://www-106.ibm.com/developerworks/linux/library/l-rt7(...) , http://www-106.ibm.com/developerworks/linux/library/l-rt8(...)
context-switching : http://www-106.ibm.com/developerworks/linux/library/l-rt9(...) et http://www-106.ibm.com/developerworks/linux/library/l-rt10(...)
# Re: Pipes nommés sous Windows
Posté par Là Yop . Évalué à 1.
# Re: Pipes nommés sous Windows
Posté par Laurent Mazet (site web personnel) . Évalué à 2.
[^] # Re: Pipes nommés sous Windows
Posté par Laurent Mazet (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.