我有超过200个房间,人们可以访问我的网站,只能通过viewroom.php观看发布的消息(他们不能说话或写字或其他什么,只看到)?id = xx
另外,我有人用移动应用程序向特定房间发送消息(仅发送),应用程序在我的服务器中调用文件sendmes.php?room = xx,此时我已全部工作但没有实时刷新,我想知道最好的系统,也可以作为轻便的服务器负载通过sendmes.php发送到viewroom.php没有沉重的lops和
我尝试使用Ajax和很长时间,但是这种方式迫使我对mysql或文件进行循环,在我看来这是一种高效的服务器负载方式
答案 0 :(得分:0)
我强烈建议您更改系统的后端架构。
使用Node.js查看Socket.IO。它是Web套接字(以及long-polling AJAX if the browser support isn't there)的简单包装器,使整个过程变得简单。让您的客户将他们的所有消息发送到您的Node实例,然后让您的Node应用程序写入您的数据库以进行存档。
答案 1 :(得分:0)
如果您要使用消息,我建议使用已建立的消息传递系统 - 例如RabbitMQ(我们实际上在其中一个项目中使用它非常成功) - 而不是编写您的自己存储和排队的逻辑。
这样你唯一需要编写的就是一个轻量级的“服务器推送”脚本 - 它会向消息传递子系统查询传入消息,并将它们路由到特定的房间/用户。