Maison >interface Web >Voir.js >Comment utiliser WebSocket pour implémenter la fonction de chat dans le développement de la technologie Vue
Comment utiliser WebSocket pour implémenter la fonction de chat dans le développement de la technologie Vue
2.1 Installez Vue
Installez Vue à l'aide de la commande suivante :
npm install vue
2.2 Installez la bibliothèque client WebSocket
Installez la bibliothèque client WebSocket à l'aide de la commande suivante :
npm install vue-native-websocket
import Vue from 'vue' import VueNativeSock from 'vue-native-websocket' Vue.use(VueNativeSock, 'ws://localhost:3000', { connectManually: true, // 手动连接 reconnection: true, // 自动重连 reconnectionAttempts: 5, // 重连尝试次数 }) new Vue({ render: h => h(App), }).$mount('#app')
Ici, nous définissons l'adresse de connexion WebSocket sur 'ws://localhost:3000', vous pouvez la modifier en fonction de la situation réelle.
<template> <div> <div v-for="message in messages" :key="message.id">{{ message.content }}</div> <input v-model="inputMessage"> <button @click="sendMessage">发送</button> </div> </template> <script> export default { data() { return { messages: [], inputMessage: '', } }, mounted() { this.$options.sockets.onmessage = (event) => { const message = JSON.parse(event.data) this.messages.push(message) } this.$options.sockets.connect() // 手动连接WebSocket }, methods: { sendMessage() { const message = { content: this.inputMessage, } this.$options.sockets.send(JSON.stringify(message)) this.inputMessage = '' }, }, } </script>
Dans le code ci-dessus, nous utilisons la directive v-for pour afficher chaque message de discussion sur l'interface et lions le contenu de la zone de saisie via la directive v-model. Lorsque vous cliquez sur le bouton d'envoi, la fonction sendMessage est appelée pour envoyer le message saisi au serveur.
const WebSocket = require('ws') const wss = new WebSocket.Server({ port: 3000 }) wss.on('connection', (ws) => { ws.on('message', (message) => { wss.clients.forEach((client) => { client.send(message) }) }) })
Dans le code ci-dessus, nous écoutons le port 3000. Lorsqu'un client se connecte, l'événement de connexion sera déclenché. Lorsqu'un message envoyé par un client est reçu, le message est diffusé à tous les clients connectés.
npm run serve
Visitez http://localhost:8080 dans le navigateur et vous verrez l'interface de discussion.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!