Les tubes nommés sont beaucoup plus difficiles à obtenir que d'utiliser des douilles. Conceptuellement, ils sont plus simples. Cependant, les rendre fiables et raisonnablement tolérants aux pannes est beaucoup plus difficile que pour les prises.
Je vous suggère de reconsidérer les prises, cela est conçu pour la communication entre les processus. Pouvez-vous clarifier pourquoi vous ne pouvez pas utiliser les douilles? La raison pour laquelle je demande est que les pipes nommées ont réellement utilisé des prises sur le bouclage dans la réalité.
Un tube nommé est une construction OS. Vous pouvez créer le canal nommé dans votre système d'exploitation et ensuite il peut être accédé comme s'il s'agissait d'un fichier par Java et C, ou tout autre programme. La communication entre les processus via le fichier est très difficile à obtenir (sinon impossible) Par exemple, vous ne saurez pas que lorsque vous écrivez dans le tube nommé, tout le lit à moins que vous ne conceviez votre propre protocole de contrôle de flux. (Très difficile à tester dans tous les cas)
Vous avez peut-être entendu parler de PipedInputStream et PipedOutputStream et ces classes ne peuvent être utilisés dans le même processus (ce qui les rend assez inutile)
EDIT: Si vous voulez une vue indépendante de la manière la plus commune et peut-être la plus sensée d'envoyer des données, je vous suggère d'essayer google.
java sockets - 2,210,000 hits
java named pipes - 90,000 hits
Alors peut-être que les sockets sont 25 fois plus sensibles que les tubes nommés. (et plus supportable car il ya plus de tutoriels et de personnes qui ont de l'expérience avec eux)
Bien que je trouve votre solution proposée assez utilisable, ce que vous décrivez ne sont pas nommés tuyaux. Les tuyaux nommés doivent être adressables de l'extérieur (dans le cas des systèmes * nix via le système de fichiers). –