国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue和node使用websocket實現(xiàn)數(shù)據(jù)推送,實時聊天

這篇具有很好參考價值的文章主要介紹了vue和node使用websocket實現(xiàn)數(shù)據(jù)推送,實時聊天。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需求:node做后端根據(jù)websocket,連接數(shù)據(jù)庫,數(shù)據(jù)庫的字段改變后,前端不用刷新頁面也能更新到數(shù)據(jù),前端也可以發(fā)送消息給后端,后端接受后把前端消息做處理再推送給前端展示

1.初始化node,生成package.json和package-lock.js

? ? ?npm init -y

2.安裝express、socket.io、cors

npm install express socket.io cors -S

3.創(chuàng)建app.js并編寫代碼

使用node ./app.js運行項目

const app = require('express')();
const http = require('http').createServer(app);
const io = require('socket.io')(http);
const fs = require('fs');
const cors = require('cors');
// 使用 cors 中間件允許跨域請求
// 配置跨域選項
const corsOptions = {
  origin: '*', // 指定允許的來源
  methods: ['GET', 'POST'], // 允許的請求方法
  credentials: true // 允許發(fā)送憑據(jù)(如 cookies)
};
app.use(cors(corsOptions));
// 創(chuàng)建數(shù)據(jù)庫連接
const mysql = require('mysql');
const connection = mysql.createConnection({
  host: 'localhost',//數(shù)據(jù)庫連接域名
  user: 'root',//數(shù)據(jù)庫賬號
  password: '123456',//密碼
  database: 'graduation_design'//要連接的數(shù)據(jù)庫名
});
connection.connect();

// 監(jiān)聽客戶端連接事件
io.on('connection', (socket) => {
  console.log('A client connected');
  //查詢表
  connection.query('SELECT * FROM shelves', (error, results) => {
    if (error) throw error;
    //數(shù)據(jù)推送到前端
    socket.emit('data', results);
  },)
  // 發(fā)送數(shù)據(jù)到客戶端
  setInterval(() => {
    // 查詢數(shù)據(jù)庫并發(fā)送數(shù)據(jù)到客戶端
    connection.query('SELECT * FROM shelves', (error, results) => {
      if (error) throw error;
      socket.emit('data', results);
    },)
  }, 60 * 1000);
  //接收到客戶端的消息后再推送給客戶端
  socket.on('message', (message) => {
    console.log('接收到客戶端消息:', message);
    socket.emit("messagedata", message);
  })

  // 監(jiān)聽客戶端斷開連接事件
  socket.on('disconnect', () => {
    console.log('A client disconnected');
  });
});

// 啟動服務器
http.listen(3000, () => {
  console.log('WebSocket server is running on port 3000');
});

4.前端使用socket.io-client

npm install socket.io-client

在需要使用websocket連接的頁面引入

<template>
    <div class="content-box">
        <div class="container">
          {{ data }}
           <el-button @click="gasong">發(fā)送</el-button>
           <hr>
           {{ msgdata }}
        </div>
    </div>
</template>

<script>
import io from 'socket.io-client';
let socket=null;
export default {
    data() {
        return {
            data: null,
            msgdata:""
        };
    },
    mounted() {
      // 解決跨域問題
      socket  = io('http://localhost:3000', {
            transports: ['websocket'],
            withCredentials: true,//白名單
            extraHeaders: {//請求頭
                'Access-Control-Allow-Origin': 'http://localhost:8081'
            }
        });
        socket.on('data', data => {
            this.data = data;
        });
        socket.on("messagedata",msg=>{
          this.msgdata=msg;
        })
    },
    methods: {
        gasong(){
          socket.send('Hello from client!');
        }
    }
};
</script>

<style lang="scss" scoped></style>

5.效果

默認如下:

vue實現(xiàn)消息實時推送,后端,vue,vue.js,websocket,前端id為243 在數(shù)據(jù)庫改為245前端不需要刷新頁面,數(shù)據(jù)直接改掉了

vue實現(xiàn)消息實時推送,后端,vue,vue.js,websocket,前端

點擊發(fā)送后,后端收到消息,再把消息推送給前端

vue實現(xiàn)消息實時推送,后端,vue,vue.js,websocket,前端

?vue實現(xiàn)消息實時推送,后端,vue,vue.js,websocket,前端

?文章到此結束,希望對你有所幫助~文章來源地址http://www.zghlxwxcb.cn/news/detail-605640.html

到了這里,關于vue和node使用websocket實現(xiàn)數(shù)據(jù)推送,實時聊天的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • webSocket及使用webSocket實現(xiàn)實時聊天通信

    webSocket及使用webSocket實現(xiàn)實時聊天通信

    webSocket在開始的時候依舊使用的是http協(xié)議,只不過后面保持tcp持久鏈接,是一種全雙工通信。webSockets和http很像,它的請求url用的是ws、wss,對應http、https 初始化 npm init -y 安裝ws依賴 npm i --save ws 寫服務器代碼 服務器啟動 node server.js 配置前端代碼,即告訴瀏覽器這個請求不要

    2023年04月11日
    瀏覽(28)
  • webSocket實現(xiàn)數(shù)據(jù)的實時推送(附:前后端代碼)

    ? ? ? ? 之前開發(fā)的一個管理系統(tǒng)項目中,首頁是數(shù)據(jù)大屏展示,一開始我是用JS的 setInterval() 方法,設置一個時間,每過時間發(fā)起一次 ajax 請求。雖然也能湊活著用,但總感覺不是最優(yōu)的方法,而且還比較占用資源,所以學習 WebSocke ,以下是本人的一些學習心得及前后端的

    2024年02月02日
    瀏覽(22)
  • WebSocket:實現(xiàn)實時互動、數(shù)據(jù)推送的利器,你了解多少

    WebSocket:實現(xiàn)實時互動、數(shù)據(jù)推送的利器,你了解多少

    WebSocket技術是一種基于TCP協(xié)議的全雙工通信協(xié)議,它允許瀏覽器和服務器之間進行實時、雙向的通信。相比傳統(tǒng)的HTTP請求-響應模式,WebSocket提供了持久連接,可以實時地推送數(shù)據(jù),減少了通信的延遲。 WebSocket的工作原理是通過建立一條持久連接來實現(xiàn)實時通信。首先,瀏覽

    2024年01月18日
    瀏覽(22)
  • 【Spring Boot 實現(xiàn) WebSocket實時數(shù)據(jù)推送-服務端】

    【Spring Boot 實現(xiàn) WebSocket實時數(shù)據(jù)推送-服務端】

    一、WebSocket配置類 二、WebSocket服務端類 三、WebSocket的連接池類 四、啟動Spring Boot服務 五、測試WebSocket連接 WebSocket在線測試工具: http://www.easyswoole.com/wstool.html 測試連接 服務地址:ws://172.18.42.29:14785/endPoint/1 服務啟動的IP:172.18.42.29 服務端口:14785 WS的URl:/endPoint 入?yún)ⅲ? 六

    2023年04月25日
    瀏覽(32)
  • 記錄--你還在使用websocket實現(xiàn)實時消息推送嗎?

    記錄--你還在使用websocket實現(xiàn)實時消息推送嗎?

    在日常的開發(fā)中,我們經常能碰見服務端需要主動推送給客戶端數(shù)據(jù)的業(yè)務場景,比如數(shù)據(jù)大屏的實時數(shù)據(jù),比如消息中心的未讀消息,比如聊天功能等等。 本文主要介紹SSE的使用場景和如何使用SSE。 我們常規(guī)實現(xiàn)這些需求的方案有以下三種 輪詢 websocket SSE 在很久很久以前

    2024年02月19日
    瀏覽(25)
  • uniapp(vue3)+node.js+websocket(實現(xiàn)實時通信效果)

    uniapp(vue3)+node.js+websocket(實現(xiàn)實時通信效果)

    文章目錄 概要 整體架構流程 技術名詞解釋 技術細節(jié) 小結 uniapp基于vue3,小程序的聊天功能 項目是基于node.js服務器搭建的簡易雙向通信網(wǎng)頁,實現(xiàn)了實時更新在線人數(shù)以及用戶間即時通訊的功能。 后臺接口代碼 1、首先我們可以通過Express 應用程序生成器快速搭建一個后臺

    2024年03月26日
    瀏覽(30)
  • 【你的第一個socket應用】Vue3+Node實現(xiàn)一個WebSocket即時通訊聊天室

    【你的第一個socket應用】Vue3+Node實現(xiàn)一個WebSocket即時通訊聊天室

    這篇文章主要是用WebSocket技術實現(xiàn)一個 即時通訊聊天室 ,首先先要了解為什么使用WebSocket而不是普通的HTTP協(xié)議,如果使用HTTP協(xié)議它是下面這種情況: 我發(fā)送一條消息,發(fā)送一個發(fā)送消息的請求;* 一直輪詢接收別人發(fā)送的消息,不管有沒有發(fā)送都要定時去調用接口。這里明

    2023年04月20日
    瀏覽(31)
  • 如何在Node.js中使用WebSocket實現(xiàn)實時通信

    在Web應用程序中,實時通信已經成為一種必不可少的功能。WebSocket是一種基于TCP的協(xié)議,它提供了雙向通信的能力,使得實時通信變得更加容易。Node.js提供了一個內置的WebSocket模塊,使得開發(fā)實時通信應用程序變得非常簡單。在本文中,我將介紹如何在Node.js中使用WebSocket實

    2024年02月14日
    瀏覽(23)
  • 如何使用websocket+node.js實現(xiàn)pc后臺與小程序端實時通信

    如何使用websocket+node.js實現(xiàn)pc后臺與小程序端實時通信

    實現(xiàn)功能:實現(xiàn)pc后臺與小程序端互發(fā)通信能夠實時檢測到 1.安裝ws依賴 2.創(chuàng)建index.js 3.打開終端,啟動服務 這里是手動點擊連接按鈕,發(fā)起的websocket連接,可自行更改到其他合適的地方連接websocket 1.創(chuàng)建兩個按鈕,連接按鈕,發(fā)送按鈕 2.定義事件,連接ws

    2024年02月03日
    瀏覽(26)
  • kafak消費數(shù)據(jù),webSocket實時推送數(shù)據(jù)到前端

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包