Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
voici un exemple d'utilisation de Mailslot en PB.
Grosso-modo, un mailslot fonctionne un peu comme un pipe nommé.
Celui qui veut lire les messages qui s'empileront dans le slot le crée en précisant un path qui contient :
- le nom de machine (ou "." pour la machine locale)
- un répertoire virtuel qui permettra de différencier les slots si il y en avait plusieurs, c'est toujours un sous-folder de "mailslot"
Ça donne par exemple \\.\mailslot\toto
Une fois que le slot est créé, on peut écrire dedans, et le récepteur peut interroger le nombre de messages en attente et les dépiler.
Pour un émetteur, on écrit directement dans le path virtuel sans essayer de le créer.
J'ai écrit un petit programme de test en PB, qu'on peut démarrer 2 fois ou plus pour tester un échange :
- dans le premier edit, on laisse "." ou on remplace par un nom de machine
- dans le second edit on peut changer le nom du slot
- on peut tester l'existence du mailslot, le créer ou le fermer
- l'application indique si des messages sont en attente, elle permet d'envoyer ou de dépiler un message
Pour tester l'interopérabilité entre différents systèmes et langages, j'ai aussi créé un petit sample en java (attention il essaye de créer le mailslot "\\.\mailslot\javaslot" en dur, pensez à changer le nom dans le programme PB pour tester) qui essaie successivement un envoi (si vous avez démarré le pb) puis se met en écoute après avoir créé le slot (ce qui échoue si le PB est démarré).
Le lien vers le Mailslot en PB
Dernière modification par seki (31-10-2011 09:03:35)
Hors ligne