-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
57 lines (51 loc) · 1.72 KB
/
server.js
File metadata and controls
57 lines (51 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const express = require("express")
const ejs = require("ejs")
const socketio = require("socket.io")
// const { PeerServer, ExpressPeerServer } = require("peer")
const app = express()
const server = app.listen(3000, () => {
console.log("Listening on port 3000")
})
// const peerServer = ExpressPeerServer(server)
// peerServer.on("connection", (client) => {
// console.log("Connected Client Id:", client.id)
// })
// peerServer.on("disconnect", (client) => {
// console.log("Disconnected Client Id:", client.id)
// })
const io = socketio(server)
io.on("connection", (s) => {
s.on("join-room", (room_id, user_id) => {
s.join(room_id)
s.join(user_id)
s.to(room_id).broadcast.emit("user-connected", user_id)
s.on("disconnect", () => {
s.to(room_id).broadcast.emit("user-disconnected", user_id)
})
s.on("got-you", (id, sender_id) => {
s.to(id).broadcast.emit("got-you", sender_id)
})
s.on("candidateToWatcher", (to, id, desc) => {
s.to(to).broadcast.emit("candidateToWatcher", id, desc)
})
s.on("offer", (toID, sender_id, description) => {
s.to(toID).broadcast.emit("offer", sender_id, description)
})
s.on("candidateToBroadCast", (to, id, desc) => {
s.to(to).broadcast.emit("candidateToBroadCast", id, desc)
})
s.on("answer", (to, id, desc) => {
s.to(to).broadcast.emit("answer", id, desc)
})
})
})
// app.use("/peerjs", peerServer)
app.set("view engine", "ejs")
app.use(express.static("public"))
app.get("/", (req, res) => {
res.render("index")
})
app.get("/:id", (req, res) => {
let { id } = req.params
res.render("room", { id })
})