socket.io setinterval façon
Je veux faire une page web pour donner au client les nouvelles de ses amis à des intervalles de 1 seconde à l'aide d'une douille.io + node.js.
Mes codes :
Client :
var socket = io.connect('http://localhost:port');
socket.on('connect', function(){
socket.emit('hello', 'Hello guest');
});
socket.on('news_by_server', function(data){
alert(data);
});
setInterval(function(){
socket.emit('news', 'I want news :D ');
}, 1000);
serveur:
var io = require('socket.io').listen(port);
io.sockets.on('connection', function (socket) {
socket.on('hello', function(data){
console.log('new client connected');
});
socket.on('news', function(data){
socket.emit('news_by_server', 1);
});
});
c'est le secteur des codes, mais ma question est au sujet de l'INTERVALLE, est-il bon de le faire en temps réel les nouvelles ou il y a une façon de mieux ensuite.
OriginalL'auteur user1194313 | 2012-02-10
Vous devez vous connecter pour publier un commentaire.
Il n'est pas nécessaire pour le client pour demander des nouvelles. Vous pouvez forcer le serveur si vous souhaitez émettre toutes les 1 seconde - tant qu'il y a des clients connectés, ils recevront des mises à jour. Si il n'y a pas de clients connectés, vous verrez dans les journaux qu'il ne se passe rien.
Sur le serveur
Sur le client
Lorsque vous écrivez
socket.emit( ...
, sur le serveur, ce qui estsocket
? Je reçois un message d'erreur indiquant quesocket
n'est pas définie.. Merciio.les sockets.('connexion', function (socket) {
OriginalL'auteur First Zero
C'est à peu près le niveau moyen de le faire. Si vous ne l'avez pas déjà regardé la exemple apps page sur le socket.io, il y a un beibertweet exemple qui ne fonctionne tout simplement ce à l'aide de la méthode setInterval.
Il y a également un un peu plus avancés exemple sur ce blog.
Plus .. j'ai trouvé Ryan Dahls de l'intro sur YouTube vraiment utile pour comprendre les principes de base de nœud de l'opération.
Espère que ça aide.
OriginalL'auteur Julian Browne