Question

J'ai toujours voulu un moyen d'établir une connexion socket à un serveur et de permettre au serveur de manipuler la page DOM.Par exemple, cela pourrait être utilisé dans une page de cotations boursières, afin que le serveur puisse proposer de nouvelles cotations dès qu'elles deviennent disponibles.

Je sais qu'il s'agit d'une limitation (fonctionnalité ?) classique du protocole de requête/réponse HTTP, mais je pense que cela pourrait être implémenté en tant que plugin Firefox (la compatibilité entre navigateurs n'est pas importante pour mon application).Les solutions Java/Flash ne sont pas acceptables car (pour autant que je sache) elles vivent dans une boîte et ne peuvent pas interagir avec le DOM.

Quelqu'un peut-il confirmer si cela est à la portée d'un plugin Firefox ?Quelqu'un a-t-il déjà créé ceci ou quelque chose de similaire ?

Était-ce utile?

La solution

Vous voudrez peut-être regarder Comète qui est un nom sophistiqué pour une connexion HTTP de longue durée où le serveur peut envoyer des mises à jour à la page.

Autres conseils

Cela devrait être possible.J'ai développé une application xulrunner qui se connecte à un serveur TCP à l'aide de sockets.Le développement d’extensions aurait probablement les mêmes capacités.J'ai utilisé une bibliothèque de mozdev - JSLib.Consultez spécifiquement le code réseau.Le fait qu'il existe un Module complémentaire Firefox pour module complémentaire JSlib pour Firefox rend plus plus confiant.

Essentiellement, si je comprends bien, les sockets ne font pas partie de JavaScript, mais via XPCOM, vous pouvez obtenir un accès brut aux sockets comme vous le feriez dans n'importe quelle application c/c++.

Avertissement: JSLib ne semble pas recevoir beaucoup d'attention et la liste de diffusion est plutôt rare.

Les solutions Java / Flash ne sont pas acceptables, car (pour autant que je sache) vivent dans une boîte et ne peuvent pas interagir avec le DOM.

Ce n'est pas vraiment le cas de Java.Vous pouvez interagir avec Java via JavaScript et apporter des modifications au DOM.

http://stephengware.com/proj/javasocketbridge/

Dans cet exemple, il existe deux méthodes JavaScript pour l'interaction

Envoyer:

socket_send("This was sent via the socket\n\n");

Recevoir:

on_socket_get(message){ more_code(message); }

Vous voudrez peut-être regarder Comet

alias. poussée du serveur.Cela ne permet pas au serveur de « mettre à jour » directement la page client, mais toutes les nouvelles données sont envoyées à la page via une seule connexion.

Bien sûr, un Firefox extension (ainsi que plugins, qui sont des bibliothèques binaires capables de faire tout ce que n'importe quelle autre application peut faire) peuvent également fonctionner avec des sockets.Voir 1, 2.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top