如果我有一个rails后端和运行在Angular.js上的客户端,如何创建一个实时通知系统

How to create a real time notification system if I have a rails backend and clients which run on Angular.js?

本文关键字:创建 何创建 通知 系统 实时 一个 客户端 后端 rails 有一个 运行      更新时间:2023-09-26

一个简单的方法是让客户端每10秒左右轮询一次服务器,但我不认为这是最好的方法。

我不想向所有客户端广播通知,一次只向一个客户端广播通知。

网上有很多关于如何做到这一点的文章,但我不知道哪一个更适合我的问题。

https://github.com/websocket-rails/websocket-rails

https://github.com/ryanb/private_pub

考虑使用push或Realtime(我工作的公司)这样的托管发布/订阅代理,专注于开发你的应用程序,而不是管理所需的实时基础设施。

从你的Rails后端,你将通过REST API发送消息,并使用基于websocket的JavaScript库在浏览器客户端接收它们(订阅)。

对于私有消息,只需将每个用户订阅到他们自己的私有通道(可能使用他们的用户id)。