久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網
      最全最豐富的資訊網站

      node怎么實現(xiàn)語音聊天

      node實現(xiàn)語音聊天的方法:1、使用nodejs模塊express創(chuàng)建一個web服務器;2、創(chuàng)建https連接;3、通過“socket.io”實現(xiàn)客戶端與服務端實時通信即可。

      node怎么實現(xiàn)語音聊天

      本教程操作環(huán)境:Windows10系統(tǒng)、node-v16.18.0版、DELL G3電腦

      node怎么實現(xiàn)語音聊天?

      基于nodejs的語音聊天

      node怎么實現(xiàn)語音聊天

      描述

      程序在 iamshaunjp 的群聊功能基礎上利用webRTC技術,添加了語音群聊功能,在其他人鍵盤輸入時,會出現(xiàn)類似微信的對方正在輸入字樣。

      • demo:https://www.php.cn/link/b2fc614266ad3627dca4dc5d37885d58
      • source code: https://www.php.cn/link/12a8193db4825679dc9baf49305efe92

      使用的nodejs模塊

      • express:創(chuàng)建一個web服務器
      • https:創(chuàng)建https連接(局域網或者外網webRTC需要https連接,具體見tutoril)
      • socket.io:客戶端與服務端實時通信

      js文件

      • chat.js:實現(xiàn)按鈕事件的注冊、文本數(shù)據的發(fā)送等
      • record.js:實現(xiàn)語音消息的錄取、播放、發(fā)送等

      結構圖和流程圖

      node怎么實現(xiàn)語音聊天

      node怎么實現(xiàn)語音聊天

      文本通信

      詳情見public/js/chat.js注釋

      發(fā)送數(shù)據

      • 進入頁面進行與服務器的socket連接
      • 客戶端輸入文本數(shù)據
      • 客戶點擊sent按鈕,觸發(fā)click事件,并產生chat事件準備想服務器emit
      • soket連接發(fā)送給服務器chat事件和客戶端產生的數(shù)據

      接收數(shù)據

      • socket接受到服務器發(fā)送來的data和服務器發(fā)送來的chat事件
      • 提取data文本
      • js在index.html添加文本數(shù)據,完成接收數(shù)據并顯示

      語音通信

      詳情見public/js/record.js注釋

      • 接受和發(fā)送語音數(shù)據類似與文本數(shù)據的通信
      • 利用webRTC獲取到用戶的視頻或者音頻轉換為blob格式數(shù)據,并發(fā)送給服務器數(shù)據。
      • 接受消息時,數(shù)據類型是blob格式,對blob數(shù)據解析,利用html5的audio標簽進行播放

      服務器轉發(fā)數(shù)據

      客戶端發(fā)送給服務器數(shù)據,服務器觸發(fā)chat事件,將客戶端發(fā)送來的數(shù)據以廣播的形式發(fā)送到每一個客戶端,完成群聊的功能。

      創(chuàng)建https證書

      在localhost中使用webRTC不需要使用https,但是在局域網或者外網使用webRTC,必須強制使用webRTC,這里采用自己生成證書供測試使用,具體生成方法和設置https方法參考博客:

      • 生成自己簽名的證書(有效期365天)

       openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
      登錄后復制

      • 使用https連接的express,例子如下:

        var fs = require('fs'),     https = require('https'),     express = require('express'),     app = express();      https.createServer({       key: fs.readFileSync('key.pem'),       cert: fs.readFileSync('cert.pem')     }, app).listen(55555);      app.get('/', function (req, res) {       res.header('Content-type', 'text/html');       return res.end('<h1>Hello, Secure World!</h1>');     });
      登錄后復制

      推薦學習:《node.js視頻教程》

      贊(0)
      分享到: 更多 (0)
      網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號