您好,登錄后才能下訂單哦!
關于在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模版
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。