问题答案

如题,nodejs如何推送消息到客户端。或者,如果要做一个站内消息,如何实现信息的及时通信?

标签: node.js
答案
了解下 WebSocket 协议及socket.io。nodejs和socket.io是不错的组合,对于不支持 WebSocket 协议的也做了轮询的fallback,使用很简单(来自于socket.io官网):
 
后端:
 
var io = require('socket.io').listen(80);
 
io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});
前端:
 
<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>
举一反三