2010-01-07 4 views
0

Je fais la surveillance des périphériques sur un système en réseau. J'ai besoin de savoir comment faire des appels Javascript sur cet appareil via son adresse IP pour obtenir certaines informations d'état (l'état de cet appareil n'est disponible que via les API Javascript, pas SNMP, etc.). Je travaille en Java.Via Java, appelez les fonctions Javascript sur le périphérique en réseau?

ajouté: Le dispositif spécifique est un boîtier décodeur fixé amino. Il a ce qu'il appelle la spécification de l'API JMACX: JavaScript Media Access Control Extensions. Il vous permet dans un document HTML d'utiliser cette API pour obtenir BEAUCOUP d'informations sur l'appareil (utilisation du processeur, informations sur les chaînes, options de contrôle à distance, etc.). J'ai besoin d'obtenir cette information dans un programme Java à des fins de surveillance spécifiques.

Peut-être possible avec les requêtes HTTP?

Toute contribution serait grandement appréciée.

Merci,

Steve

+1

Que voulez-vous dire par les API Javascript dans ce cas? Pouvez-vous nous donner un exemple? L'appareil dispose-t-il d'un serveur Web intégré qui crache les pages HTML incorporant certaines fonctions Javascript, ou quoi? – Dan

+0

^Ajout d'informations à poster. –

Répondre

1

Ainsi, il est essentiellement un serveur web au service des pages HTML? Vous pourriez en théorie utiliser URL#openStream() pour obtenir une InputStream de toute ressource web.

Mais alors vous avez un problème majeur avec Javascript. Il fonctionne uniquement sur la machine locale . Vous pouvez éventuellement extraire les fonctions JavaScript de la page HTML avec l'aide d'un HTML parser et les invoquer avec l'aide de javax.script API, mais ils seront exécutés sur votre seule machine (au moins, la machine sur laquelle votre code Java est en cours d'exécution), non sur la machine distante.

0

J'utilise Rhino en Java et fonctionne bien. Vous devriez être capable de charger une API Javascript dans un contexte, puis créer des fonctions pour utiliser/appeler cette API.

http://www.mozilla.org/rhino/

+0

Pouvez-vous élaborer un peu plus à ce sujet? J'ai regardé la documentation sur le Web et semble trouver peu sur l'utilisation du contexte. Comment l'utiliser pour appeler Javascript sur un appareil en réseau? –

+0

Si vous avez juste besoin de pouvoir utiliser et appeler javascript, rhino est une bonne solution. Vous chargez l'API JS, vraisemblablement dans un fichier JS localement ou à distance, vous pouvez alors appeler des fonctions, etc. Vous pourriez avoir à créer des objets fantaisie si l'API suppose certains objets sont présents. – jon077

Questions connexes