vue-peer
Version:
With this package, you can have video calls along with two or multi-person chat communication. You can easily bind and display your streams in any video element you want.
48 lines (39 loc) • 1.11 kB
JavaScript
import express from 'express';
import cors from 'cors';
import { createServer } from 'http';
import { Server } from 'socket.io';
import { v4 as uuidv4 } from 'uuid';
import { ExpressPeerServer } from 'peer';
const app = express();
const server = createServer(app);
const io = new Server(server, {
cors: {
origin: "*",
methods: ["GET", "POST"],
},
});
const port = process.env.APP_PORT;
app.use(cors());
const peer = ExpressPeerServer(server, {
debug: true,
});
app.use("/peerjs", peer);
app.get("/", (req, res) => {
res.send(uuidv4());
});
io.on("connection", (socket) => {
socket.on("newUser", (id, room, metadata) => {
console.log("add",room, metadata);
socket.join(room);
socket.broadcast.emit("userJoined", id,room, metadata);
socket.on("disconnect", () => {
socket.to(room).broadcast.emit("userDisconnect", id);
});
});
socket.on("closeUser",(room,id)=>{
socket.to(room).broadcast.emit("userDisconnect", id);
})
});
server.listen(port, () => {
console.log("Server running on port : " + port);
});