websocket 使用基于STOMP进行推送

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用spring WebSocket还有一种方法进行推送,就是使用STOMP协议进行推送,其核心思想就是订阅(subscribe)。

1.配置Spring的Configuration文件。

注一:Application-destination-prefix:用例对URL进行区分,这里的”/app”表明,如果想要使用这个message broker(消息代理),就需要在URL中添加”/app”。

注二:Stomp-endpoint:这里是一个stomp的一个借助WebSocket进行握手的配置。这个握手的interceptor在这里什么都不需要做,我们不再需要session了。

注三:simple-broker:非常重要,在这里我们只使用一个simple broker,但是将来可以使用一个更为复杂的broker(Apache ActiveMQ等)。可参考下图理解simple broker的作用。

2.实现一个HandshakeInterceptor(简单到没有)

3.我们可以写一个Controller用于管理这些“/app”请求。

这里的@MessageMapping(“/greeting”),将用来处理“/app/greeting”的STOMP的SEND请求。

这里的@SendTo(“/topic/show”),将所有订阅了(subscribe)“/topic/show”)的用户进行消息的推送,推送的内容就是函数的返回值”[hello]”。

这里的@SubscribeMapping(“/init/{id}”),一个新的订阅,这个订阅不是simple broker,但是也可以返回一个JSON的字符串。

4.开始编写web页面(使用jQuery)。

建立STOMP连接,之前要进行websocket连接(握手)。

订阅”/topic/show”

请求向所有订阅过”/topic/show”的client推送消息

相关文档
最新文档