最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJs實現(xiàn)跨域WebSocket即時通訊加強版

 更新時間:2023年11月09日 09:39:08   作者:playboy5566  
這篇文章主要為大家介紹了NodeJs實現(xiàn)跨域WebSocket即時通訊加強版示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Socket.io

原生WebSocket API使用起來不太方便,我們使用Socket.io,它很好地封裝了webSocket接口,提供了更簡單、靈活的接口,也對不支持webSocket的瀏覽器提供了向下兼容。

  • 服務(wù)端代碼
  • 根據(jù)不同客戶端傳來的消息存儲一下 不同的對象
  • 需要安裝 npm i socket.io --save
  • 下載 socket.io.js

nodejs 代碼

const socket = require("socket.io");
const http = require('http');
// 創(chuàng)建服務(wù)
const server = http.createServer((req,res)=>{
    // 允許所有跨域請求
    res.setHeader('Access-Control-Allow-Origin', '*');
    req.writeHead(200,{'Content-Type':'text/html'})
    res.end('')
}).listen(8001)
let pad = null,pc = null , padReady = false , pcReady = false;
// 連接socket.io
socket.listen(server).on('connection',(conn)=>{
    conn.on('message',(str)=>{
        if(str==="Pad"){
            pad = conn;
            padReady = true;
            conn.send('連接成功');
        }
        if(str==="PC"){
            pc = conn;
            pcReady = true;
        }
        if(padReady&&pcReady){
            if(str==='PC') str='我是PC界面'
            pc.send(str);
        }
    })
    conn.on("disconnection",(code, reason) => {
        console.log("關(guān)閉連接")
    });
})

pad.html 代碼

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .kuang {
            text-align: center;
            margin-top: 200px;
        }
        #mess {
            text-align: center
        }
        .value {
            width: 200px;
            height: 200px;
            border: 1px solid;
            text-align: center;
            line-height: 200px;
            display: inline-block;
        }
    </style>
</head>
<body>
    <div id="mess">正在連接...</div>
    <div class="kuang">
        <div class="value" id="value1">aaaaaaa</div>
        <div class="value" id="value2">bbbbbbb</div>
        <div class="value" id="value3">ccccccc</div>
    </div>
    <script src="./js/socket.io.js"></script>
    <script>
        // 跨域地址
        const socket = io('192.168.1.115:8001')
        socket.on('connect', () => {
            // 連接成功
            socket.send('Pad')
            // 監(jiān)聽連接
            socket.on('message', (msg) => {
                document.getElementById('mess').innerHTML=msg
                // console.log(msg)
            })
            // 關(guān)閉連接
            socket.on('disconnect', () => {
            })
        })
        document.querySelector(".kuang").onclick = (e)=> {
           socket.send(e.target.innerHTML);
        }
    </script>
</body>
</html>

pc.html 代碼

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .kuang {
            text-align: center;
            margin-top: 200px;
        }
        #mess {
            text-align: center
        }
    </style>
</head>
<body>
    <div id="mess"></div>
    <script src="./js/socket.io.js"></script>
    <script>
        var mess = document.getElementById("mess");
        // 跨域地址
        // TODO: 這里注意一下 不能寫127.0.0.1 或者localhost 不然其他客戶端訪問不到
        const socket = io('192.168.1.115:8001')
        socket.on('connect', () => {
            // 連接成功
            socket.send('PC')
            // 監(jiān)聽連接
            socket.on('message', (msg) => {
                mess.innerHTML = msg
                // console.log(msg)
            })
            // 關(guān)閉連接
            socket.on('disconnect', () => {
            })
        })
    </script>
</body>
</html>

以上就是NodeJs 【加強版】實現(xiàn)跨域WebSocket 即時通訊的詳細(xì)內(nèi)容,更多關(guān)于NodeJs跨域WebSocket即時通訊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Node.JS用純JavaScript生成圖片或滑塊式驗證碼功能

    Node.JS用純JavaScript生成圖片或滑塊式驗證碼功能

    有一些Node.JS圖片生成類庫,比如node-captcha等的類庫,需要c/c++程序生成圖片??缙脚_部署不是很方便。這里介紹幾個用純JS實現(xiàn)的圖片驗證碼生成模塊,需要的朋友可以參考下
    2019-09-09
  • Node.js實現(xiàn)批量下載圖片簡單操作示例

    Node.js實現(xiàn)批量下載圖片簡單操作示例

    這篇文章主要介紹了Node.js實現(xiàn)批量下載圖片簡單操作,結(jié)合實例形式分析了node.js批量下載圖片的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)

    nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)

    這篇文章主要介紹了nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié),對FS模塊的大部份異步函數(shù)做了介紹,而且用中文注釋,這下用起來方便了,需要的朋友可以參考下
    2014-06-06
  • node.js應(yīng)用后臺守護進程管理器Forever安裝和使用實例

    node.js應(yīng)用后臺守護進程管理器Forever安裝和使用實例

    這篇文章主要介紹了node.js應(yīng)用后臺守護進程管理器Forever安裝和使用實例,forever可以看做是一個nodejs的守護進程,能夠啟動,停止,重啟我們的app應(yīng)用,需要的朋友可以參考下
    2014-06-06
  • node.js中fs\path\http模塊的使用方法詳解

    node.js中fs\path\http模塊的使用方法詳解

    Node.js是基于Chrome V8引擎的JavaScript的運行時(運行環(huán)境-宿主環(huán)境),下面這篇文章主要給大家介紹了關(guān)于node.js中fs\path\http模塊的使用方法,需要的朋友可以參考下
    2023-01-01
  • node.js連接SQLserver數(shù)據(jù)庫實踐

    node.js連接SQLserver數(shù)據(jù)庫實踐

    這篇文章主要介紹了node.js連接SQLserver數(shù)據(jù)庫實踐方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • node 使用 nodemailer工具發(fā)送驗證碼到郵箱

    node 使用 nodemailer工具發(fā)送驗證碼到郵箱

    最近閑著沒事,我就在練習(xí)使用node和mysql編寫接口,計劃寫一個完整的vue系統(tǒng),這篇文章主要介紹了node 使用 nodemailer工具發(fā)送驗證碼到郵箱,需要的朋友可以參考下
    2023-10-10
  • nodeJs實現(xiàn)基于連接池連接mysql的方法示例

    nodeJs實現(xiàn)基于連接池連接mysql的方法示例

    這篇文章主要介紹了nodeJs實現(xiàn)基于連接池連接mysql的方法,結(jié)合具體實例形式分析了nodejs連接池操作mysql數(shù)據(jù)庫連接的實現(xiàn)與使用技巧,需要的朋友可以參考下
    2018-02-02
  • 安裝pnpm及解決安裝失敗的過程

    安裝pnpm及解決安裝失敗的過程

    pnpm是一種高效的包管理工具,它通過共享依賴包存儲庫和符號鏈接技術(shù),節(jié)省磁盤空間、提高安裝速度并支持高效的更新,pnpm還兼容npm和Yarn的生態(tài),適合大型項目和頻繁安裝依賴的開發(fā)團隊使用
    2026-01-01
  • node中的密碼安全(加密)

    node中的密碼安全(加密)

    這篇文章主要介紹了node中的密碼安全(加密),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

沂源县| 沿河| 息烽县| 屏东县| 连平县| 伊通| 满城县| 石门县| 克拉玛依市| 麻城市| 大同市| 新民市| 凤山市| 乐都县| 民勤县| 岳西县| 包头市| 寿光市| 平陆县| 张家港市| 新余市| 山丹县| 杭州市| 邢台县| 筠连县| 涿鹿县| 娄底市| 从化市| 上饶市| 临颍县| 高雄市| 洛阳市| 建始县| 句容市| 麻栗坡县| 阜康市| 南京市| 酒泉市| 上杭县| 广宗县| 庄浪县|