溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

socket io與vue-cli的結(jié)合使用的示例代碼

發(fā)布時(shí)間:2020-08-25 19:19:46 來(lái)源:腳本之家 閱讀:354 作者:sanxiansheng 欄目:web開(kāi)發(fā)

關(guān)于在vue中使用websocket的簡(jiǎn)易例子

使用vue-cli生成一個(gè)vue模版

安裝三個(gè)依賴:

npm install -s socket.io
npm install -s vue-socket.io
npm install -s socket.io-client

創(chuàng)建一個(gè)新的servers:在文件最外層創(chuàng)建 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','你發(fā)過(guò)來(lái)的數(shù)據(jù)是:'+data) //發(fā)送回去 事件名為loginmsg
   })

})
console.log('socket端口:8000');
sever.listen(8000)

在package.js文件中添加啟動(dòng)腳本:

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服務(wù)端鏈接

在.vue文件中:

<template>
  <div>
    <div> 
      <input type="text" v-model="msg">
      <button @click='Login'>向8000端口發(fā)送數(shù)據(jù)</button>
      {{backdata}}
    </div>

  </div>
</template>
<script>
export default{
  data:function (){
    return {
      msg:"aaaa",
      backdata:'',
    }
  },
  sockets:{ //在此接收又服務(wù)器發(fā)送過(guò)來(lái)的數(shù)據(jù) ps:注意此處的方法名要與服務(wù)器的發(fā)送的事件保持一致才能接收到
   connect:function() {      //與ws:127.0.0.1:8000連接后回調(diào)
    console.log('連接成功');
   },
   loginmsg:function(value) {
    console.log(value);//監(jiān)聽(tīng)login(后端向前端emit login的回調(diào))
    this.backdata=value;
   }
  },
  methods:{
    Login(){
      this.$socket.emit('login',this.msg);
    }
  }
   
 }
</script>

先啟動(dòng)8000端口 npm run server

然后打開(kāi)新的命令行 npm run dev 啟動(dòng)vue模版

socket io與vue-cli的結(jié)合使用的示例代碼

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI