websoket入门问题

页面上有一个接口,get请求,接口url是http://xx.xx.xx.xx:8091/rest/deviceData/lastData?deviceNo=xxxx
这种get请求接口在vue里用ajax或者axios可以直接拿到的,现在业务那里有个需求希望这个接口的数据实时更新,我想要websoket,想请教的是:
1、这个地址能否直接作为websoket的url
2、如果作为websoket的url,我该怎么调用
let socket = new WebSocket('ws://xx.xx.xx.xx:8091/rest/deviceData/lastData?deviceNo=xxxx');
直接把http改成ws?是这样吗?

阅读 1.7k
2 个回答

你是用的vue吗?

如果是,可能后台使用的是socket.io。所以你在前端可以使用socket.io-client,或者vue-socket.io,

原生的websocket貌似只支持ws或者wss.

而且如果后台采用的是socket.io,前台用websocket是不行的,在socket.io官网上有说

+1, webscoket接口 和 常用的 http接口 并不一样
需要后端重写, 并且调用的话:

    var websocket = new WebSocket("ws://echo.websocket.org/");
    // 监听开始状态
    websocket.onopen = function(){
        console.log("open 了");
    }
    // 监听数据获取
    websocket.onmessage = function(e){
        console.log(e.data);
    } 
    // 传递数据靠这个
    websocke.send()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题