Rumah  >  Artikel  >  hujung hadapan web  >  Analisis tentang cara untuk mencapai komunikasi dua hala sisi pelayan masa nyata melalui Vue

Analisis tentang cara untuk mencapai komunikasi dua hala sisi pelayan masa nyata melalui Vue

WBOY
WBOYasal
2023-08-10 08:17:18925semak imbas

Analisis tentang cara untuk mencapai komunikasi dua hala sisi pelayan masa nyata melalui Vue

Anatomi cara melaksanakan komunikasi dua hala bahagian pelayan masa nyata melalui Vue

Pengenalan:
Dalam aplikasi web moden, komunikasi dua hala bahagian pelayan masa nyata menjadi semakin penting. Ia boleh merealisasikan fungsi seperti kemas kini data masa nyata, sembang masa nyata dan penyuntingan kolaboratif. Vue ialah rangka kerja bahagian hadapan yang popular yang menyediakan cara ringkas untuk membina antara muka pengguna. Artikel ini akan memperkenalkan cara menggunakan Vue dan Socket.io untuk mencapai komunikasi dua hala sebelah pelayan masa nyata.

1. Memahami Socket.io
Socket.io ialah perpustakaan JavaScript untuk pelayar web dan pelayan, yang menyediakan keupayaan komunikasi dua hala masa nyata. Ia dibina pada Websockets, tetapi juga boleh menurunkan taraf secara automatik kepada pengangkutan lain seperti HTTP Long Polling. Menggunakan Socket.io dengan Vue boleh dipasang melalui npm.

2. Buat projek Vue
Pertama, kita perlu buat projek Vue. Masukkan arahan berikut pada baris arahan:

vue create realtime-app
cd realtime-app

3. Pasang dependencies
Selepas memasuki folder projek, kita perlu memasang beberapa dependencies yang diperlukan. Masukkan arahan berikut dalam baris arahan:

npm install socket.io-client

4. Wujudkan sambungan dengan pelayan
Dalam direktori akar projek Vue, cari folder src dan cipta fail bernama socket.js. Dalam fail ini, kami mewujudkan sambungan ke pelayan dan mengeksport contoh Soket untuk digunakan oleh komponen lain. Contoh kod adalah seperti berikut:

// src/socket.js
import io from 'socket.io-client'
const socket = io('http://localhost:3000')
export default socket

Dalam kod di atas, socket.io-client diperkenalkan dan alamat dan port pelayan diubah suai mengikut situasi sebenar.

5. Gunakan Socket.io dalam komponen Vue
Dalam komponen Vue yang perlu menggunakan Socket.io, kami boleh memperkenalkan socket.js dan menggunakan lalai eksport untuk mengeksport. Kami kemudiannya boleh menggunakan contoh soket dalam komponen Vue untuk mendengar dan menghantar acara. Sebagai contoh, kita boleh mendengar acara dan mengemas kini data, atau menghantar acara ke pelayan. Contoh kod adalah seperti berikut:

// src/components/Realtime.vue
<template>
  <div>
    <h1>{{ message }}</h1>
    <input v-model="inputMessage" @keydown.enter="sendMessage" />
    <button @click="sendMessage">Send</button>
  </div>
</template>

<script>
import socket from '../socket.js'

export default {
  data() {
    return {
      message: '',
      inputMessage: ''
    }
  },
  mounted() {
    socket.on('message', (data) => {
      this.message = data
    })
  },
  methods: {
    sendMessage() {
      socket.emit('chat', this.inputMessage)
      this.inputMessage = ''
    }
  }
}
</script>

6. Tetapan sisi pelayan
Di bahagian pelayan, kita perlu menggunakan Node.js dan Socket.io untuk mengendalikan komunikasi dengan bahagian hadapan. Berikut ialah kod contoh bahagian pelayan yang mudah:

// server.js
const app = require('http').createServer()
const io = require('socket.io')(app)

io.on('connection', (socket) => {
  console.log('A user connected')

  socket.on('chat', (message) => {
    console.log('Received message:', message)
    io.emit('message', message)
  })

  socket.on('disconnect', () => {
    console.log('A user disconnected')
  })
})

app.listen(3000, () => {
  console.log('Server is running on port 3000')
})

7. Mulakan aplikasi
Dalam direktori akar projek, laksanakan arahan berikut untuk memulakan aplikasi:

npm run serve

Kemudian, buka pelayar dan lawati http:/ /localhost:8080, Anda akan melihat halaman dengan kotak input dan mesej. Apabila anda memasukkan mesej dalam kotak input dan menghantarnya, mesej itu dihantar ke pelayan dan dikemas kini dalam masa nyata ke dalam mesej pada halaman.

Kesimpulan:
Dengan Vue dan Socket.io, kami boleh mencapai komunikasi dua hala sebelah pelayan masa nyata dengan mudah. Menggunakan Socket.io dalam Vue boleh mendengar dan menghantar acara melalui kod ringkas, membolehkan kami mengemas kini data dan berinteraksi dalam masa nyata. Saya harap artikel ini akan membantu anda dan membolehkan anda menggunakan Vue dengan lebih baik untuk mencapai komunikasi dua hala sebelah pelayan masa nyata.

Atas ialah kandungan terperinci Analisis tentang cara untuk mencapai komunikasi dua hala sisi pelayan masa nyata melalui Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn