nodejs+webrtc实现浏览器端p2p音视频通话完整可用代码

nodejs+webrtc实现浏览器端p2p音视频通话完整可用代码


nodejs搭建一个socketio的信令服务器,负责中转信令。

const express = require('express');
const http = require('http');
const { Server } = require("socket.io");
const fs = require('fs');
const https = require('https'); // 改用 https
const app = express();

// 
// 读取 SSL 证书和私钥(请根据实际路径修改)
const options = {
  key: fs.readFileSync('/data/cert/6284283_web.debug.only.bfw.wiki.key'),   // 私钥文件换成自己的
  cert: fs.readFileSync('/data/cert/6284283_web.debug.only.bfw.wiki.pem')   // 证书文件换成自己的
};

const server = https.createServer(options, app); 
const io = new Server(server, {
  cors: {
    origin: "*", 
    methods: ["GET", "POST"]
  }
});

// 使用 Map 结构,更适合存储和删除
const rooms = new Map();

io.on('connection', socket => {
  console.log(`一个用户已连接: ${socket.id}`);

  socket.on('join room', roomID => {
    socket.join(roomID);
    
    let room = rooms.get(roomID);
    if (room) {
      // 房间已存在,该用户是第二个加入者
      room.push(socket.id);
      const otherUser = room[0]; // 获取第一个用户的ID
 ...

点击查看剩余70%

{{collectdata}}

网友评论0