我正在开发一个 Web 应用程序,使用 python3.5 作为后端,使用 javascript +react/redux 作为前端,并使用 Django 服务器。
该应用程序的目标是实时显示由在不同协议(protocol)(MQTT、XMPP 和 CoaP)下运行的某些树莓派发送的数据。我告诉我的 django 服务器向处理不同协议(protocol)的不同服务器发出 get 请求,然后将这些数据保存到数据库中,我最终可以将其检索到我的 redux 存储中,然后在我的客户端上显示这些数据。
我希望能够删除数据库部分的保存,这意味着我的 Django 服务器必须将其接收的数据直接转发到客户端。
我做了一些研究,似乎 websocket 编程是最好的方法,但我有一个不同的架构,所以我不确定我是否能够使用它,除非我从头开始重新启动那就太糟糕了。如果您有任何其他想法来做我想做的事情,或者如果您有一些改造我的应用程序的建议,那就太好了。
最佳答案
我也遇到过类似的问题,有几种方法可以解决。我认为最好的是使用 server-sent events像这样:
在 JavaScript 客户端中:
var evtSource = new EventSource("myScriptInRpi");
evtSource.onmessage = function(e) {
//code
}
优点是可以直接从树莓派向客户端发送数据。但如果你想要 django你可以做到的。
关于javascript - 如何将数据从服务器自动重定向到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51215137/