Web 套接字项删除约定
Posted
技术标签:
【中文标题】Web 套接字项删除约定【英文标题】:Web socket item remove convention 【发布时间】:2014-11-26 19:20:40 【问题描述】:我正在实现一个 WebSocket 客户端来显示与服务器状态同步的项目列表。我在后端使用 Spring,在前端使用 AngularJS。我已经经历了很多例子,到目前为止都讨论了如何在客户端添加项目。然而,我想知道是否有关于如何处理添加和删除的约定。我正在考虑使用STOMP
并订阅add
和remove topics
。有没有确定的替代方案?
【问题讨论】:
【参考方案1】:这看起来非常适合新的 Spring Sync,它提供基于 differential synchronization 算法和 JSON 补丁的同步,因此可以跟踪对象的更改并与其他对象同步。
查看 SpringOne2GX 2014 中的 Differential Sync and JSON Patch 演示文稿和 GitHub samples(特别是 scores,它使用了 WebSocket)。
【讨论】:
感谢伟大的链接!我觉得这在我的特定用例中可能有点矫枉过正,因为我只会在列表中添加和删除项目,但我会考虑它。 始终考虑用例,也许在创建/删除项目时有通知对您来说就足够了,但如果这更像是一个横切关注点,您可能需要考虑 Spring Sync 【参考方案2】:如果您询问在 Spring STOMP 中使用请求-回复消息实现 API 的 RPC 样式的惯用方法,我建议使用 @SubscribeMapping 注释方法。这些目的地看起来像真正的经纪人的“主题”,所以你可以订阅它们,但它们的订阅只持续到响应被传递。这里有更多关于@SubscribeMapping:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html#websocket-stomp-handle-annotations
【讨论】:
以上是关于Web 套接字项删除约定的主要内容,如果未能解决你的问题,请参考以下文章