我正在实现一个 WebSocket 客户端来显示与服务器状态同步的项目列表。我在后端使用Spring,在前端使用AngularJS。我已经浏览了许多示例,到目前为止,它们都讨论了如何在客户端添加项目。但是,我想知道是否有关于如何处理添加和删除的约定。我正在考虑使用STOMP
并订阅add
和remove topics
。是否有任何既定的替代方案?
这看起来非常适合新的 Spring Sync,它提供基于差分同步算法和 JSON 补丁的同步,因此可以跟踪对对象的更改并与其他对象同步。
查看来自SpringOne2GX 2014的差异同步和JSON Patch演示以及GitHub示例(特别是使用WebSocket的分数)。
如果您询问在Spring STOMP中使用请求-回复消息实现RPC样式API的惯用方法,我建议使用@SubscribeMapping注释方法。这些目的地看起来像真实经纪人的"主题",因此您可以订阅它们,但它们的订阅仅在响应交付之前持续。以下是有关@SubscribeMapping的更多信息:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html#websocket-stomp-handle-annotations