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

nodejs實(shí)現(xiàn)前后端websocket通信+心跳示例

這篇具有很好參考價(jià)值的文章主要介紹了nodejs實(shí)現(xiàn)前后端websocket通信+心跳示例。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

nodejs后端代碼? server.js

//需要安裝ws模塊  npm install ws  
const WebSocket = require("ws")
const port = 8085

const ws = new WebSocket.Server({port})

ws.on("connection", (socket) => {
    socket.on("message",(message) => {
        const data = JSON.parse(message.toString('utf-8'))
        if(data.type === 'heart') {
            socket.send("收到心跳")
        } else {
            socket.send(`你發(fā)來的類型是${data.type}`)
        }
    })
    socket.on("close", () => {
        socket.send("close")
    })
})
console.log(`server start at ${port}`)

直接在文件所在目錄打開cmd窗口,啟動(dòng)服務(wù): node server.js

瀏覽器端? index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     <button type="button" onclick="sendWs()">發(fā)送消息</button>
     <button type="button" onclick="closeWs()">關(guān)閉鏈接</button>
     <div>
        發(fā)送第<span id="count"></span>次心跳
     </div>
</body>
</html>
<script>
const ws =   new WebSocket("ws://localhost:8085");
let count = 0
const interval = setInterval(() => {
    count++
        ws.send(JSON.stringify({type:'heart'}))
        document.getElementById("count").innerHTML = count
    }, 1000)

const sendWs = () => {
    if(!ws) return;
    ws.send(JSON.stringify({type:'message',data:{}}))
}

const closeWs = () => {
    clearInterval(interval)
    ws.close()
}


</script>

在本地直接運(yùn)行瀏覽器即可!

如果有幫助,就點(diǎn)個(gè)贊再走 ^? ^

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??文章來源地址http://www.zghlxwxcb.cn/news/detail-640329.html

到了這里,關(guān)于nodejs實(shí)現(xiàn)前后端websocket通信+心跳示例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot進(jìn)階(49):SpringBoot之集成WebSocket實(shí)現(xiàn)前后端通信 | 超級(jí)詳細(xì),建議收藏

    Spring Boot進(jìn)階(49):SpringBoot之集成WebSocket實(shí)現(xiàn)前后端通信 | 超級(jí)詳細(xì),建議收藏

    ????????在上一期,我對(duì)WebSocket進(jìn)行了基礎(chǔ)及理論知識(shí)普及學(xué)習(xí),WebSocket是一種基于TCP協(xié)議實(shí)現(xiàn)的全雙工通信協(xié)議,使用它可以實(shí)現(xiàn)實(shí)時(shí)通信,不必?fù)?dān)心HTTP協(xié)議的短連接問題。Spring Boot作為一款微服務(wù)框架,也提供了輕量級(jí)的WebSocket集成支持,本文將介紹如何在Spring Boot項(xiàng)

    2024年02月14日
    瀏覽(27)
  • Thinkphp5.0 安裝使用Workerman實(shí)現(xiàn)websocket前后端通信,后端主動(dòng)推送消息到前端

    安裝使用Workerman實(shí)現(xiàn)websocket前后端通信,后端主動(dòng)推送消息到前端,實(shí)現(xiàn)后端有數(shù)據(jù)更新時(shí),前端頁面自動(dòng)更新數(shù)據(jù)。 我使用的是基于Thinkphp5.0的ThinkCMF5.0。 安裝: 啟動(dòng): public目錄下放置的server.php文件,注意里面的配置必須按照你的Worker控制器來: woker控制器: 后端主動(dòng)推

    2024年02月16日
    瀏覽(32)
  • websocket實(shí)時(shí)通訊和socket.io實(shí)時(shí)通信庫的使用;心跳機(jī)制與斷線重連

    https://zh.javascript.info/websocket WebSocket 是一種網(wǎng)絡(luò)通信協(xié)議,就類似于 HTTP 也是一種通信協(xié)議。 為什么需要 WebSocket? 因?yàn)?HTTP 協(xié)議有一個(gè)缺陷:通信只能由客戶端發(fā)起。 代碼解析: 創(chuàng)建WebSocket實(shí)例:通過 new WebSocket() 創(chuàng)建一個(gè)WebSocket實(shí)例。在括號(hào)中傳入服務(wù)器的URL,該URL指定了

    2024年02月16日
    瀏覽(40)
  • Spring Boot進(jìn)階(49):實(shí)時(shí)通信不再是夢想,SpringBoot+WebSocket助你輕松實(shí)現(xiàn)前后端即時(shí)通訊!

    Spring Boot進(jìn)階(49):實(shí)時(shí)通信不再是夢想,SpringBoot+WebSocket助你輕松實(shí)現(xiàn)前后端即時(shí)通訊!

    ????????在上一期,我對(duì)WebSocket進(jìn)行了基礎(chǔ)及理論知識(shí)普及學(xué)習(xí),WebSocket是一種基于TCP協(xié)議實(shí)現(xiàn)的全雙工通信協(xié)議,使用它可以實(shí)現(xiàn)實(shí)時(shí)通信,不必?fù)?dān)心HTTP協(xié)議的短連接問題。Spring Boot作為一款微服務(wù)框架,也提供了輕量級(jí)的WebSocket集成支持,本文將介紹如何在Spring Boot項(xiàng)

    2024年02月11日
    瀏覽(21)
  • vue3+nodejs(websocket)實(shí)現(xiàn)監(jiān)控拉rtsp流,使用flv.js+ffmpeg包(主要建立websocket是為了轉(zhuǎn)碼傳流)

    vue3+nodejs(websocket)實(shí)現(xiàn)監(jiān)控拉rtsp流,使用flv.js+ffmpeg包(主要建立websocket是為了轉(zhuǎn)碼傳流)

    關(guān)于拉取監(jiān)控?cái)z像頭的流,我個(gè)人去查了很多資料,也是因?yàn)橹皼]有接觸過這一模塊,加上目前公司也沒有后端去寫接口,所以我直接用node去寫websocket,與前端建立起通信,能夠進(jìn)行后續(xù)轉(zhuǎn)碼、傳流,能夠?qū)崿F(xiàn)實(shí)時(shí)播放監(jiān)控畫面。 這里的rtsp流是要事先知道的,監(jiān)控的這個(gè)

    2024年02月20日
    瀏覽(26)
  • 如何在Node.js中使用WebSocket實(shí)現(xiàn)實(shí)時(shí)通信

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

    2024年02月14日
    瀏覽(23)
  • websocket以及心跳機(jī)制的實(shí)現(xiàn)

    ????????在瀏覽器與服務(wù)器通信之間,傳統(tǒng)的http請(qǐng)求在某些場景下并不理想,比如實(shí)時(shí)聊天,實(shí)時(shí)性的小游戲等等, 其中面臨主要的兩個(gè)缺點(diǎn): 無法做到消息的實(shí)時(shí)性 服務(wù)器無法主動(dòng)推送信息 其基于http的主要解決方案有: 基于ajax的輪詢:客戶端定時(shí)或者動(dòng)態(tài)相隔短時(shí)

    2024年02月04日
    瀏覽(26)
  • 前后端 websocket 通信

    前后端 websocket 通信

    項(xiàng)目框架 后端: springboot 項(xiàng)目 前端: vue 項(xiàng)目 ? pom 文件添加依賴 ? websocket 實(shí)現(xiàn)類 ServerEndpoint 注解:定義 websocket 連接名,調(diào)用此接口時(shí),開啟 websocket 連接,即調(diào)用 onOpen 方法 onOpen:開啟連接 onClose:關(guān)閉連接 onMessage:接收對(duì)方發(fā)送的消息 sendMessage:向所有連接此后臺(tái)的另

    2023年04月09日
    瀏覽(16)
  • uniapp(vue3)+node.js+websocket(實(shí)現(xiàn)實(shí)時(shí)通信效果)

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

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

    2024年03月26日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包