vue套接字连接未触发"/>
vue套接字连接未触发
我正在尝试将vue与套接字结合使用。但是我似乎无法让vue应用程序接受套接字事件。我正在跟踪网上找到的教程,他们告诉我下面的示例应该起作用。但是,事实并非如此,我对此感到困惑。
我知道的是:
- 插座已连接。服务器端触发连接事件
- 我可以使用
this.$socket.emit('mounted', 'something')
从app.vue发出事件> - 我无法收到
sockets
部分下的事件。没有触发任何连接,断开连接或测试。
为什么插座部分不起作用?
我的server.js:
const io = require('socket.io')(8000); io.on('connection', function(socket) { console.log(`A user connected with socket id ${socket.id}`) socket.on('mounted', function(data) { console.log('data', data) io.emit('test'); }) socket.on('disconnect' , function(){ console.log('User left page'); }); });
我的main.js
import Vue from 'vue' import App from './App.vue' import VueSocketIO from 'vue-socket.io' import SocketIO from "socket.io-client" Vue.config.productionTip = false Vue.use(new VueSocketIO({ debug: true, connection: SocketIO('http://localhost:8000'), }) ); new Vue({ render: h => h(App), }).$mount('#app')
我的app.vue中的脚本
<script>
import HelloWorld from './components/HelloWorld.vue'
//var socket = io();
export default {
name: 'App',
components: {
HelloWorld
},
mounted () {
console.log('mounted')
this.$socket.emit('mounted', 'something')
},
sockets : {
test: function(data){
console.log('test triggered', data)
},
connect() {
console.log('connected')
},
disconnect() {
console.log("server disconnected");
},
}
}
</script>
我正在尝试将vue与套接字结合使用。但是我似乎无法让vue应用程序接受套接字事件。我正在跟踪网上找到的教程,他们告诉我...
回答如下:如果运行的版本大于3.0.7,则需要卸载vue-socket.io并安装版本3.0.7。
更多推荐
vue套接字连接未触发
发布评论