Besoin d'une simple transmission de données au navigateur en utilisant node.js
Sur le côté serveur, j'utilise node.js faire quelques distribué asynchrone de ping-pong. J'ai maintenant besoin d'afficher les résultats en temps réel graphique dans un navigateur client. Pour garder les choses simples, je suis actuellement à l'aide de la base d'image de Google graphique URL et en limitant la quantité de données à tracer. Finalement ce côté client affichage de la pièce sera riche & interactif.
Je comprends que l'une des façons pour mon serveur de pousser les données vers le navigateur est la Comète. Je m'attends il doit y avoir une prise correspondante-quelque chose de côté navigateur, de sorte que les deux doivent aller de pair.
Q1: Pour le prototypage: quel est le moyen le plus simple pour moi de pousser des données chaîne d'node.js à mon Firefox 3.6.10 navigateur? Chaîne de mises à jour moins de 1 KO une fois par seconde.
T2: Pour la production: recommandations pour une approche qui fonctionne sur tous les navigateurs, y compris les appareils mobiles? Des mises à jour binaires de l'ordre de 100 KO par seconde, pas d'images ou de vidéo.
source d'informationauteur user402476
Vous devez vous connecter pour publier un commentaire.
J'aimerais vraiment vous recommandons de prendre un coup d'oeil à http://socket.io/ pour Node.js. Il fonctionne sur les appareils mobiles, et prend en charge plusieurs méthodes pour la Comète de l'effet que vous désirez, en utilisant la meilleure option disponible pour le navigateur.
C'est assez mort simple, bien qu'il ne manque de canaux, mais c'est une simple solution de contournement à l'aide de
socket.broadcast(msg, [array containing every user except those 'subscribed'])
Toutes les deux secondes, le serveur génère un nombre aléatoire r1 [0,100], les messages de client d'établir un piechart avec r1 et r2=100-r1. Pourtant, pour mettre en œuvre la diffusion suggéré pour plusieurs clients. D'autres suggestions pour des améliorations bienvenues.
Côté serveur (en coffeescript):
Côté Client (index.html avec javascript):