如何在React App中实现消息通知?

时间:2018-11-26 15:53:45

标签: django reactjs sockets socket.io notifications

我现在正在使用React和Redux作为前端以及Django作为后端来构建应用程序。我想要实现的是,每当最终用户上传文件时,与此文件相关的所有最终用户都应收到通知。

我正在考虑使用websocket / socket.io,但不确定是否可以在Django上正常使用。还是使用其他任何技术来实现消息通知功能的经验或建议?

2 个答案:

答案 0 :(得分:0)

一个简单的Google搜索显示了Django Channels

  

Channels是一个采用Django并将其功能扩展到HTTP以外的项目,以处理WebSocket,聊天协议,IoT协议等。它基于称为ASGI的Python规范构建。

答案 1 :(得分:0)

使用javascript中的field_field.files[0].file.slice()方法,您可以通过websocket批量发送文件。使用field_field.files[0].size,您可以获取总大小,然后将已发送的总大小与文件的大小相除,以构建进度条。确保将文件写操作包装在@sync_to_async装饰器中,否则将阻塞事件循环。该方法是Channels的一部分,可以在Asgiref.

中找到

Channels Redis可用于通知任何或所有用户已发生事件,例如正在上传文件。