Vue-Socket.io

按照文档,一顿操作猛如虎之后,websocket是连上了,但是一看网络请求,发现使用的是http协议,可我明明填的是wss://地址啊:

Vue.use(new VueSocketIO({
    debug: true,
    connection: 'wss://test.com',
    vuex: {
        store,
        actionPrefix: 'SOCKET_',
        mutationPrefix: 'SOCKET_'
    },
    options: { path: "/my-app/" }
}))

因为vue-socket.io其实是基于socket.io-client又做了一层封装,所以配置参数啥的基本一样,那就果断去Socket.IO官网找找答案

在这里插入图片描述
翻到这里,它说socket.io可以用以下两种方式起服务:HTTP long-pollingWebSocket

啥?long-polling?长轮询?还是默认值?

看来找到原因了!

解决办法:

去掉长轮询,只使用webcoket

Vue.use(new VueSocketIO({
    debug: true,
    connection: 'wss://test.com',
    vuex: {
        store,
        actionPrefix: 'SOCKET_',
        mutationPrefix: 'SOCKET_'
    },
    options: { 
    	path: "/my-app/",
    	transports: ["websocket"] //**加上这句**
    }
}))

搞定!

Logo

前往低代码交流专区

更多推荐