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%
网友评论0