UNPKG

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
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); });