带有Angular前端的Spring后端-如何在服务器更改时更新视图

时间:2018-12-31 17:22:48

标签: angular spring websocket spring-websocket

我还没有太多代码,因为我首先想问一下您的意见。也许您已经遇到了这个问题,并找到了适当的解决方案。所以我现在只是在互联网上搜索了一下,找到了一些建议。我的前端是用Angular 7编写的,而后端是用Spring编写的。

我的问题如下:

我有一张显示电动汽车充电站的地图。 充电站可以是当前可用的,然后将在地图上以绿色标记显示。否则它们将不可用,并会在地图上以红色标记表示。

Map with markers representing available (green) or unavailable (red) charging stations for eCars

我要实现的目标

想象一下上面显示的地图是显示给User-A的地图。左下角的充电站当前可用,并以绿色显示。当用户B保留充电站时,我想更新用户A的地图,以便用户A的地图上的充电站从当前可用/绿色变为当前不可用/红色

我的代码是什么样的 当前,首​​次访问地图时,从后端获取一次充电站。这是通过 charging-station.service.js 文件通过使用角度httpClient的REST调用到我们的后端API来完成的。

enter image description here

我已经尝试过的东西

我已经用Google搜索了一下,偶然发现了两种方法。第一个(我有点不喜欢)是主动轮询。您每隔一个时间间隔向服务器发送一个请求,以获取具有潜在新可用性状态的相同充电站。我不喜欢这种方法,我在后端增加了很多不必要的工作量。

找到的第二种方法是使用Web套接字。我以前从未与他们合作过。所以我想问你,作为潜在的更有经验的开发人员,我会怎么想。方法1、2或完全不同的方法。

1 个答案:

答案 0 :(得分:1)

单独使用长池化不是解决问题的有效方法,您应该检查SSE。 我想您的消息将仅从服务器流向客户端。当双方传递消息时,Web套接字更加有用。永远不要忘记WebSocket会带来很多负担。因此,如果您决定这样做,请准备好携带它。

相关问题