Je suis l'auteur de quelques plugins Firefox avec précisément cette exigence.
Une stratégie consiste à utiliser le pont JavaScript-to-Java dans Firefox, ce qui permet l'utilisation de Java RMI. J'ai trouvé cette approche lente et instable, et le multithreading est douloureux.
Ma solution actuelle consiste à ouvrir un socket localhost
et à utiliser un protocole textuel pour communiquer. Voir le XULPlanet developer guide on sockets pour savoir comment ouvrir et lire/écrire avec des sockets dans Firefox JavaScript, et il y a un Sun tutorial on sockets in Java.
Le code source d'un plugin que j'ai écrit (pour Firefox et Eclipse) est disponible sous la licence X11 aka MIT: Firedoclipse source. Sous le répertoire lib
se trouve un composant appelé jsjr
, avec plusieurs classes Java et un objet XPCOM JavaScript qui implémente l'invocation de méthode à distance entre Java et JavaScript. Le répertoire test
contient des tests unitaires. Cette invocation de méthode à distance serait trop rapide pour envoyer un seul type de message dans une direction, mais vous pourriez trouver le code utile.
Merci pour votre réponse. J'espérais qu'il devrait être possible d'utiliser des sockets plutôt que RMI. Merci d'avoir vérifié cela. –