亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

websocket實(shí)現(xiàn)Vue?3和Node.js之間的實(shí)時(shí)消息推送

 更新時(shí)間:2024年06月01日 09:35:19   作者:牛掰666  
使用?WebSocket?實(shí)現(xiàn)實(shí)時(shí)消息推送是一種高效的方式,可以在客戶(hù)端和服務(wù)器之間建立長(zhǎng)連接,實(shí)現(xiàn)低延遲的雙向通信,以下是一個(gè)簡(jiǎn)單的示例,展示如何在前端使用?Vue?3?和后端使用?Node.js?搭建一個(gè)?WebSocket?實(shí)現(xiàn)實(shí)時(shí)消息推送的應(yīng)用

使用 WebSocket 實(shí)現(xiàn)實(shí)時(shí)消息推送是一種高效的方式,可以在客戶(hù)端和服務(wù)器之間建立長(zhǎng)連接,實(shí)現(xiàn)低延遲的雙向通信。以下是一個(gè)簡(jiǎn)單的示例,展示如何在前端使用 Vue 3 和后端使用 Node.js 搭建一個(gè) WebSocket 實(shí)現(xiàn)實(shí)時(shí)消息推送的應(yīng)用。

前端(Vue 3)

1. 創(chuàng)建 Vue 項(xiàng)目

首先,創(chuàng)建一個(gè)新的 Vue 3 項(xiàng)目。如果你還沒(méi)有安裝 Vue CLI,可以通過(guò)以下命令安裝:

npm install -g @vue/cli

創(chuàng)建一個(gè)新的 Vue 項(xiàng)目:

vue create websocket-demo
cd websocket-demo

2. 安裝 WebSocket 客戶(hù)端庫(kù)

在 Vue 項(xiàng)目中,可以使用原生 WebSocket API,也可以使用第三方庫(kù)。這里我們使用原生 WebSocket API。

3. 實(shí)現(xiàn) WebSocket 客戶(hù)端

在 src 目錄下的 App.vue 文件中,添加以下代碼:

<template>
  <div id="app">
    <h1>WebSocket Demo</h1>
    <input v-model="message" @keyup.enter="sendMessage" placeholder="Type a message" />
    <button @click="sendMessage">Send</button>
    <ul>
      <li v-for="(msg, index) in messages" :key="index">{{ msg }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      ws: null,
      message: '',
      messages: []
    };
  },
  mounted() {
    this.connectWebSocket();
  },
  methods: {
    connectWebSocket() {
      this.ws = new WebSocket('ws://localhost:3000');
      this.ws.onmessage = (event) => {
        this.messages.push(event.data);
      };
      this.ws.onopen = () => {
        console.log('Connected to WebSocket server');
      };
      this.ws.onclose = () => {
        console.log('Disconnected from WebSocket server');
      };
    },
    sendMessage() {
      if (this.message !== '') {
        this.ws.send(this.message);
        this.message = '';
      }
    }
  }
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  text-align: center;
  margin-top: 60px;
}
</style>

后端(Node.js)

1. 創(chuàng)建 Node.js 項(xiàng)目

創(chuàng)建一個(gè)新的目錄并初始化一個(gè) Node.js 項(xiàng)目:

mkdir websocket-server
cd websocket-server
npm init -y

2. 安裝 WebSocket 庫(kù)

安裝 ws 庫(kù),這是一個(gè)簡(jiǎn)單且強(qiáng)大的 WebSocket 庫(kù):

npm install ws

3. 實(shí)現(xiàn) WebSocket 服務(wù)器

在項(xiàng)目根目錄下創(chuàng)建一個(gè) server.js 文件,添加以下代碼:

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 3000 });
wss.on('connection', (ws) => {
  console.log('Client connected');
  ws.on('message', (message) => {
    console.log(`Received message: ${message}`);
    // Broadcast the message to all clients
    wss.clients.forEach((client) => {
      if (client.readyState === WebSocket.OPEN) {
        client.send(message);
      }
    });
  });
  ws.on('close', () => {
    console.log('Client disconnected');
  });
});
console.log('WebSocket server is running on ws://localhost:3000');

運(yùn)行項(xiàng)目

1. 啟動(dòng) WebSocket 服務(wù)器

在 websocket-server 目錄下,運(yùn)行以下命令啟動(dòng) WebSocket 服務(wù)器:

node server.js

2. 啟動(dòng) Vue 項(xiàng)目

在 websocket-demo 目錄下,運(yùn)行以下命令啟動(dòng) Vue 項(xiàng)目:

npm run serve

結(jié)果

打開(kāi)瀏覽器,訪問(wèn) http://localhost:8080,你應(yīng)該會(huì)看到一個(gè)簡(jiǎn)單的 WebSocket 演示應(yīng)用。你可以在輸入框中輸入消息并發(fā)送,消息會(huì)通過(guò) WebSocket 服務(wù)器廣播給所有連接的客戶(hù)端,實(shí)時(shí)更新消息列表。

通過(guò)這種方式,你可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的實(shí)時(shí)消息推送系統(tǒng)。當(dāng)然,這只是一個(gè)基本的示例,實(shí)際應(yīng)用中你可能需要處理更多的邏輯和安全問(wèn)題。

到此這篇關(guān)于websocket實(shí)現(xiàn)Vue 3和Node.js之間的實(shí)時(shí)消息推送的文章就介紹到這了,更多相關(guān)Vue 3和Node.js的消息推送內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nodejs 中的 Buffer 類(lèi)的創(chuàng)建與基本使用

    Nodejs 中的 Buffer 類(lèi)的創(chuàng)建與基本使用

    這篇文章主要為大家介紹了Nodejs中Buffer的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 如何在命令行判斷node.js啟動(dòng)了沒(méi)有(最新)

    如何在命令行判斷node.js啟動(dòng)了沒(méi)有(最新)

    這篇文章主要介紹了如何在命令行判斷node.js啟動(dòng)了沒(méi)有,使用 tasklist 命令列出所有正在運(yùn)行的進(jìn)程,并使用 findstr 命令過(guò)濾出 Node.js 進(jìn)程,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 利用node.js寫(xiě)一個(gè)爬取知乎妹紙圖的小爬蟲(chóng)

    利用node.js寫(xiě)一個(gè)爬取知乎妹紙圖的小爬蟲(chóng)

    這篇文章主要給大家介紹了利用node.js寫(xiě)一個(gè)爬取知乎妹紙圖的小爬蟲(chóng),文中給出了詳細(xì)的示例代碼和介紹,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。
    2017-05-05
  • node.js讀寫(xiě)json文件的方法

    node.js讀寫(xiě)json文件的方法

    這篇文章介紹了node.js讀寫(xiě)json文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?'--local'?are?deprecated解決

    npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?&apo

    這篇文章主要給大家介紹了關(guān)于npm報(bào)錯(cuò):npm?WARN?config?global?'--global',?'--local'?are?deprecated.?Use?`--location=global`?instead.的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 淺談node使用jwt生成的token應(yīng)該存在哪里

    淺談node使用jwt生成的token應(yīng)該存在哪里

    早上逛某乎的時(shí)候,遇到一位同學(xué)在問(wèn)這個(gè)問(wèn)題,很好奇jwt的存儲(chǔ)位置。本文詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-06-06
  • 使用Node.js創(chuàng)建HTTP服務(wù)器并實(shí)現(xiàn)公網(wǎng)訪問(wèn)本地Server的步驟

    使用Node.js創(chuàng)建HTTP服務(wù)器并實(shí)現(xiàn)公網(wǎng)訪問(wèn)本地Server的步驟

    Node.js含有一系列內(nèi)置模塊,使得程序可以脫離 Apache HTTP Server 或 IIS,作為獨(dú)立服務(wù)器運(yùn),下面將介紹如何簡(jiǎn)單幾步實(shí)現(xiàn)遠(yuǎn)程公共網(wǎng)絡(luò)下訪問(wèn)windwos node.js的服務(wù)端,感興趣的朋友一起看看吧
    2023-11-11
  • Node.js?與并發(fā)模型的詳細(xì)介紹

    Node.js?與并發(fā)模型的詳細(xì)介紹

    這篇文章主要介紹了Node.js?與并發(fā)模型的詳細(xì)介紹,Node.js?現(xiàn)在已成為構(gòu)建高并發(fā)網(wǎng)絡(luò)應(yīng)用服務(wù)工具箱中的一員,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,需要的朋友可以參考一下
    2022-07-07
  • nodejs基礎(chǔ)之常用工具模塊util用法分析

    nodejs基礎(chǔ)之常用工具模塊util用法分析

    這篇文章主要介紹了nodejs基礎(chǔ)之常用工具模塊util用法,結(jié)合實(shí)例形式分析了nodejs核心工具模塊util功能、相關(guān)函數(shù)與使用方法,需要的朋友可以參考下
    2018-12-12
  • 前端需知nodejs?express中間件使用及定義詳解

    前端需知nodejs?express中間件使用及定義詳解

    這篇文章主要為大家介紹了前端需知nodejs?express中間件使用及定義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10

最新評(píng)論