使用node.js在PHP应用程序中显示消息的实时通知

我有一个PHP应用程序,人们发布不同的状态消息。 我想实现它的实时通知。

也就是说,如果用户发布内容,则立即访问该网站的其他用户将在他们的屏幕上获得有关新post的提示。 我听说你可以使用node.js来实现它。 但我不知道如何做到这一点。 任何帮助将不胜感激。

我build议你看看socket.io。 客户端发送消息给节点,节点可以保存到数据库(或者用RESTful调用转发到你的php应用程序),并通知所有的客户端。

这不是PHP,但只有nodejs和js。 请享用 ;)

服务器:

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> 

你必须在客户端写上你想要做的事on("yourEvent", function() { ...

您可以使用长轮询技术。 Long polling是用来描述一种技术的名称:

  1. 做了一个AJAX请求(利用jQuery等javascript框架)
  2. 服务器等待请求的数据可用,循环和睡眠(您的服务器端PHP脚本)
  3. 数据返回给客户端并进行处理(通常在您的AJAX请求的onCompletecallback函数中)

要么

试试服务器端推技术像Commet 。