Node.js + Socket.IO和CodeIgniter [关闭]

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




我现在已经尝试过以两种方式获取这些通知:


1。 我试图用AJAX构建一种数据拉取系统,但在我看来,这会在我的服务器上浪费大量带宽


2。 我已经使用socket.io服务器设置了node.js,它只侦听一些套接字事件并将通知推送回用户。 例如,当添加注释时,而是具有将所有新注释从5秒提取到5秒的函数,我有一个socket.emit(); 将注释信息推送到node.js并且node.js将通知推送到所有连接的套接字。



我不确定node.js + PHP是否是一个好工作(但是,我是什么' 到目前为止,我们了解到node.js适用于长轮询和较少的资源成本)。 </ p>

您认为Witch架构会更好吗?</ p>
</ div>

展开原文

原文

I am working on a project that's developed with the CodeIgniter framework. My project has a lot of user interaction like posts, comments, and other notifications that should be live.

I have tried by now to get those notifications in two ways:
1. I've tried to build a sort of data pull system with AJAX but in my opinion this was making lots of bandwidth waste on my server
2. I've set up a node.js with socket.io server, that only listens for some socket events and pushes the notifications back to the user. For example, when a comment is added, instead having a function that pulls all the new comments from 5 to 5 seconds, I'm having a socket.emit(); that pushes the comment information to node.js and node.js pushes the notification to all connected sockets.

I am not sure if node.js + PHP is a good job ( but, what I've learnt so far is that node.js is good for long polling and less resource costs ).

Witch architecture would you consider is better?

2个回答



使用Node.js和Socket.IO为您的客户提供任何实时数据。</ p>

是的,您可以将它与基于CodeIgniter的站点结合使用...输出动态页面和获取数据客户端不必彼此有任何关系。</ p>

您使用Socket.IO时遇到的问题不在于Socket.IO本身......而在于您如何构建应用程序。 根据需要发送消息。 如果在连接时需要初始发出5条注释,请执行此操作。</ p>
</ div>

展开原文

原文

Use Node.js with Socket.IO to get any live data to your clients.

Yes, you can use this in conjunction with your CodeIgniter-based site... outputting dynamic pages and getting data client-side don't have to have anything to do with each other.

The issue you had with Socket.IO wasn't with Socket.IO itself... it's with how you built your application. Emit messages as you need to. If you need an initial emit with 5 comments upon connect, do that.

duanbin198788
duanbin198788 示例代码是什么? 听起来像你想要有人写你的整个网站。 我建议您逐一了解您感兴趣的所有技术。 一旦了解了它们的工作原理,您就会知道使用哪些工具来最好地解决问题。
7 年多之前 回复
dream0614
dream0614 先生,我可以在应用程序中使用代码igniter,node.js和socket.io来询问示例代码。 我还不清楚我怎样才能在php上同时使用node.js。 我很绝望。
7 年多之前 回复
dr5648
dr5648 那么,似乎我走的路很好。 谢谢布拉德
大约 8 年之前 回复
douhong4452
douhong4452 是的,一点没错。
大约 8 年之前 回复
duanjiao5543
duanjiao5543 好,谢谢。 我只是想知道是否可以让PHP执行每个服务器端的交互和数据操作,并让Node.JS和Socket.IO对视图进行所有实时推送。
大约 8 年之前 回复



一旦完成了所有Nodejs + CI设置,您将担心的下一件事是验证已经在CI中进行过身份验证的Nodej中的用户 侧。 通过使用可由CI和Nodej访问的自定义会话存储来克服此问题的一种方法。</ p>

我选择Redis over Memcache进行自定义会话存储,因为您不想丢失所有 关于服务器重启的现有会话数据 对于CI https://gist.github.com/zhouming/3672207 和Nodejs,您可以轻松实现 搜索,安装和配置Redis。</ p>

请参阅此处获取更多有用信息 http://ericterpstra.com/2013/03/use-redis-instead-of-mysql-for-codeigniter-session-data < / p>
</ div>

展开原文

原文

Once you have all the Nodejs + CI setup the next thing you will worry about is authenticating the users in Nodejs who are already authenticated in CI side. One way to overcome this by using custom session storage which can be accessed by both CI and Nodejs.

I chose Redis over Memcache for custom session storage because you don't want to lose all your existing session data on server restart. For CI https://gist.github.com/zhouming/3672207 and for Nodejs you can easily search, install and configure the Redis.

Refer here for more useful info http://ericterpstra.com/2013/03/use-redis-instead-of-mysql-for-codeigniter-session-data

立即提问
相关内容推荐