通常,应用程序通过发送HTTP请求与服务器进行通信。 它通过HTTP请求发送一些数据,然后依次接收响应。

但是在构建我的应用程序时,我遇到一种情况,即当发生特定事件时,后端需要向Web应用程序发送一些数据/消息。

我阅读了有关WebPush通知的信息,但我不想使用它们,因为它要求用户显示通知的权限,这有点奇怪。 即使使用WebPush API,我也必须请求显示通知的权限。 我不想依靠它,因为如果用户单击“拒绝”,则整个应用程序都将中断,这就是为什么我要寻找其他选择的原因。

有什么替代方法可供我选择?

PS:我正在使用的后端基于Django Rest Framework构建

===============>>#1 票数:1

要考虑的一件事是是否要/需要用户界面实时显示更改。

如果显示数据对时间非常敏感,则您可能需要考虑使用双向协议(例如websockets)并通过此通道接收服务器更新。

模拟近乎实时的UI更新的另一种方法是进行轮询 UI(在特定条件下)设置时间表以使用传统API通过HTTP进行定期轮询。 如果可以快速提供所请求的数据(不是昂贵的计算,并且传输的数据量很小),并且不需要重新渲染应用程序的整个客户端,则轮询可能是一个不错的选择。 轮询通常是一个临时的解决方案,并且是事后才想到的,因此感觉非常费力(传输大量数据并重新呈现UI),但是如果计划进行轻度轮询,那么这将是一个不错的选择。

如果您预见到应用程序的更多“实时”方面,则可能需要引入网络套接字。 不过,请谨慎使用这对您的体系结构和扩展意味着什么。 (有某些架构样式,例如微服务架构,使用websocket可能会带来更多的复杂性)。 浏览器兼容性也可能是一个小问题,因此我将确保您不打算支持不支持websocket的浏览器。

  ask by Goutam B Seervi translate from so

===============>>#2 票数:-1

我建议您调查一下Push API- https://developer.mozilla.org/en-US/docs/Web/API/Push_API

  ask by Goutam B Seervi translate from so

本文未有回复,本站智能推荐: