如何在codeigniter和nodejs附带新通知时调用AJAX

时间:2015-07-13 09:31:23

标签: javascript php ajax node.js codeigniter

目前我在我当前的应用程序中有通知系统,并且正在使用SetInterval中的AJAX调用,我想要的是现在与nodejs实现相同,如果有任何新的通知,那么节点应该调用那个AJAX或类似的东西,我之前从未使用过NodeJS,但是通过一些学习我写了一些代码,但我想知道更多关于它的事件以及如何去做。

目前我正在从PHP调用nodejs:

<?php echo `node node-server/server.js` ?>

和NodeJS代码:

var http = require('http');
var sockjs = require('sockjs');
var echo = sockjs.createServer();
var server = http.createServer();
echo.installHandlers(server, {prefix:'/notification'});
server.listen(9999, 'localhost');

它给我的消息:

  

SockJS v0.3.5绑定到“/ notification”

但这还不足以达到我的目的,请让我知道我还要做些什么呢?

TIA

1 个答案:

答案 0 :(得分:0)

没有使用sockjs的经验(我使用过socket.io),但我可以提供一些提示:

  1. 您可以在服务器php代码中使用监听器 像redis这样的东西。然后在具有通知的编码有效负载的频道中发布。

  2. 在您的nodejs服务器脚本中,您需要redis并订阅 与上述相同的渠道 每次使用sockjs发布消息时,您可以发送到您的php客户端应用程序(我的意思是通过js查看)以通知用户新的内容,您可以使用类似https://github.com/sciactive/pnotify的库

  3. 正如评论中所建议的那样google socket.io并看一看教程,并根据你的情况调整它以适应sockjs。 希望它有所帮助