webscokt使用记录

我理解的webscokt的作用就是在前后端建立长连接,然后在后端设置定时任务就可以实现在前端不发请求的情况下更新前端数据。

下面是我使用的方法,

后端(springBoot):

    @Controller
    public class TestControllor {
    @Autowired
    private SimpMessagingTemplate template;

    @Scheduled(cron = "0/5 * * * * ? ")//定时任务 5秒钟一次
    public void testInfo(){
//convertAndSend方法,第一个参数是指定给要接收的用户,第二个参数是要发送的信息info是自己定义的对象
              template.convertAndSend("/getMessage/testInfo",JSONObject.toJSONString(info));
    }
    }

 前端接收(ant封装的vue):

<script>
    //导入的时候idea应该会自动导入如果没导入就自己导npm install sockjs-client   npm install stompjs
    import SockJS from "sockjs-client";
    import Stomp from "stompjs";
    var stompClient = null;
    export default {
        methods: {
            //与后端建立连接,定时接收数据
            initApplication(){
                //地址,创建sockjs对象
                var url = "http://localhost:8030/模块名/endpointOyzc";
                var socket = new SockJS(url);
                stompClient = Stomp.over(socket);//使用STMOP子协议的WebSocket客户端
                stompClient.connect({},function (frame) {
                    stompClient.subscribe('/getMessage/testInfo',function (response) {
                        //解析接收的数据
                        var body = eval('(' + response.body + ')');
                        //代码  逻辑
                    });
                })
            },
        }
    }

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值