关于在vue中使用websocket的简易例子
使用vue-cli生成一个vue模版
安装三个依赖:
npm install -s socket.io npm install -s vue-socket.io npm install -s socket.io-client
创建一个新的servers:在文件最外层创建 server/app.js文件:
var sever=require('http').createServer(); var io=require('socket.io')(sever) io.on('connection', function (socket) { socket.on('login',function(data){ //接收连接中的login事件 console.log(data); io.emit('loginmsg','你发过来的数据是:'+data) //发送回去 事件名为loginmsg }) }) console.log('socket端口:8000'); sever.listen(8000)
在package.js文件中添加启动脚本:
script{ "server": "node sever/app.js"}
在mian.js中vue.use():
import VueSocketio from 'vue-socket.io'; import socketio from 'socket.io-client'; Vue.use(VueSocketio, socketio('ws://127.0.0.1:8000'));//与websocket服务端链接
在.vue文件中:
<template> <div> <div> <input type="text" v-model="msg"> <button @click='Login'>向8000端口发送数据</button> {{backdata}} </div> </div> </template> <script> export default{ data:function (){ return { msg:"aaaa", backdata:'', } }, sockets:{ //在此接收又服务器发送过来的数据 ps:注意此处的方法名要与服务器的发送的事件保持一致才能接收到 connect:function() { //与ws:127.0.0.1:8000连接后回调 console.log('连接成功'); }, loginmsg:function(value) { console.log(value);//监听login(后端向前端emit login的回调) this.backdata=value; } }, methods:{ Login(){ this.$socket.emit('login',this.msg); } } } </script>
先启动8000端口 npm run server
然后打开新的命令行 npm run dev 启动vue模版
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。