【问题标题】:Node.js + Socket.IO and CodeIgniter [closed]Node.js + Socket.IO 和 CodeIgniter [关闭]
【发布时间】:2012-09-14 16:35:27
【问题描述】:

我正在开发一个使用 CodeIgniter 框架开发的项目。我的项目有很多用户交互,比如帖子、cmets 和其他应该实时的通知。

我现在已经尝试通过两种方式获取这些通知:
1. 我尝试使用 AJAX 构建一种数据拉取系统,但在我看来这会在我的服务器上造成大量带宽浪费
2. 我用socket.io服务器建立了一个node.js,它只监听一些socket事件并将通知推送给用户。例如,当添加评论时,我有一个 socket.emit();将评论信息推送到 node.js 并且 node.js 将通知推送到所有连接的套接字。

我不确定 node.js + PHP 是否是一份好工作(但是,到目前为止我了解到的是 node.js 有利于长轮询和更少的资源成本)。

你认为女巫架构更好吗?

【问题讨论】:

    标签: php node.js socket.io


    【解决方案1】:

    使用带有 Socket.IO 的 Node.js 将任何实时数据发送给您的客户端。

    是的,您可以将它与基于 CodeIgniter 的站点结合使用...输出动态页面和在客户端获取数据不必相互关联。

    您遇到的 Socket.IO 问题不在于 Socket.IO 本身……而在于您构建应用程序的方式。根据需要发送消息。如果您需要在连接时使用 5 个 cmets 进行初始发射,请执行此操作。

    【讨论】:

    • 好的,谢谢。我只是想知道是否可以让 PHP 进行所有服务器端交互和数据操作,并让 Node.JS 和 Socket.IO 对视图进行所有实时推送。
    • 好吧,那么看来我走上了一条好路。谢谢布拉德
    • 先生,我可以问一个在应用程序中使用代码点火器、node.js 和 socket.io 的示例代码吗?我仍然无法理解如何同时在 php 中使用 node.js。我好绝望。
    • @orvyl,示例代码是什么?在我看来,您希望有人编写您的整个网站。我建议单独学习您感兴趣的所有技术。一旦您了解了它们的工作原理,您就会知道使用哪些工具来最好地解决您的问题。
    【解决方案2】:

    一旦您完成了所有 Nodejs + CI 设置,接下来您需要担心的是验证 Nodejs 中已经在 CI 端进行身份验证的用户。一种方法是使用 CI 和 Nodejs 都可以访问的自定义会话存储来克服这个问题。

    我选择 Redis 而不是 Memcache 用于自定义会话存储,因为您不想在服务器重新启动时丢失所有现有会话数据。对于 CI https://gist.github.com/zhouming/3672207 和 Nodejs,您可以轻松搜索、安装和配置 Redis。

    更多有用信息请参考这里http://ericterpstra.com/2013/03/use-redis-instead-of-mysql-for-codeigniter-session-data

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 2017-01-05
      • 2013-05-27
      相关资源
      最近更新 更多