socket.io设置间隔方式

socket.io设置间隔方式,socket.io,Socket.io,我想使用socket.io+node.js为客户创建一个网页,每1秒向客户提供一次朋友的消息 我的代码: 客户端: 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); });

我想使用socket.io+node.js为客户创建一个网页,每1秒向客户提供一次朋友的消息

我的代码:

客户端:

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);
    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);
        });
    });
服务器:

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);
    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);
        });
    });

这是主代码,但我的问题是时间间隔,是制作实时新闻好还是有更好的方法。

这几乎是标准的方法。如果您还没有查看socket.io上的页面,那么有一个beibertweet示例使用setInterval来实现这一点

这个博客上也有一篇文章

加。。我在YouTube上发现,了解节点操作的基础知识非常有用


希望这会有所帮助。

客户无需询问新闻。如果您希望每1秒发送一次,您可以强制服务器发送一次,只要有连接的客户端,它们就会接收更新。如果没有连接任何客户端,您将在日志中看到什么也没有发生

在服务器上

setInterval(function(){
    socket.emit('news_by_server', 'Cow goes moo'); 
}, 1000);
论客户

socket.on('news_by_server', function(data){
  alert(data);
});

谢谢,这就是我想在您编写
socket.emit(…
)时查找的内容,在服务器上,什么是
socket
?我收到一个错误,说
socket
没有定义..Thanksio.sockets.on('connection',function(socket)){当客户机使用特定页面的事件请求此类数据时,仅在间隔时间发出这些数据不会节省资金。然后,您不能在页面更改时清除这些间隔吗?