为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 网络编程 正文

Websocket子协议stomp使用(websocket参数)

三叶资源网 2022-10-11 19:18:50 网络编程 285 ℃ 0 评论

背景

项目一开始设计的是前端页面刷新以get方式获取数据,后来要求设备数据实时推送给前端,这样就需要和前端建立一个通道。然后我查看了一些资料,传统的websocket只是一个通道,发送的数据对方并不认识,所以我选择了websocket一个子协议stomp。它类似于kafka有多个主题,后端向某一个主题发送数据,只有订阅了该主题的客户端才会收到推送到这个主题的数据。

stomp

STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种平台上得到广泛地应用。

下面是实现代码

pom.xml

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration implements WebSocketMessageBrokerConfigurer {

    /**
     * 服务端两次心跳时间间隔的最小毫秒数
     */
    @Value("${websocket.heartbeat.heartbeat-interval-server}")
    private long heartbeatIntervalServer;

    /**
     * 服务端接收客户端两次心跳的时间间隔
     */
    @Value("${websocket.heartbeat.heartbeat-interval-client}")
    private long heartbeatIntervalClient;

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        long[] heartbeat = {heartbeatIntervalServer, heartbeatIntervalClient};
        ThreadPoolTaskScheduler te = new ThreadPoolTaskScheduler();
        te.setPoolSize(1);
        te.setThreadNamePrefix("wss-heartbeat-thread-");
        te.initialize();
        config.enableSimpleBroker("/api/v1/ws/devices")
          .setHeartbeatValue(heartbeat)
          .setTaskScheduler(te);
        config.setApplicationDestinationPrefixes("/ws");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/api/v1/ws").setAllowedOrigins("*");
    }
}
@Autowired
private SimpMessageSendingOperations simpMessageSendingOperations;

simpMessageSendingOperations.convertAndSend("topic", payload);  // 推送数据
}

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
获取MD5源码黑猫论坛加密壳登陆查询多线程反跟踪鼠标离开悬停销售记录系统扫码登录奇易浏览框禁止重复运行新浪微博Web协议ASP网络验证游民星空局域网扫描器动态调用汇编DLL函数查看器资料历史登录QQ自动回复
最新评论