我看到了类似StackOverflow通知面板的问题。 它讨论了实现的客户端部分。
我正在寻找关于服务器部分和网络部分的信息(客户端如何实时接收通知)
用户场景可能是这样的:
- 用户A发生了某些事情
- 服务器在DB中为用户A创建一条消息(以进行持久化):我使用django-activity-stream进行此操作
- 服务器将(新的或最后10个)消息发送给用户A的浏览器(当用户A登录或事件发生时)
- 浏览器显示该消息(StackOverflow通知面板部分)
- 如果用户确认消息(点击SO中的收件箱),则所有未读的消息都将被标记为已读并记录在服务器中
我对以下步骤有疑问。
- (3)不确定,但可以使用https://github.com/stephenmcd/django-socketio。
- (4)回答中说客户端具有从服务器接收的json数据。
服务器是否为每个请求向用户发送消息?
客户端是否检查本地存储(我对Web不熟悉,哪种本地存储最适合此目的?)并请求json数据,如果他们没有在本地存储中找到它们? - (5)如何实现这个
seen
和unseen
? django-activity-stream没有相关概念。