-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
102 lines (82 loc) · 3.07 KB
/
app.js
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const express = require("express");
const app = express();
const server = require("http").Server(app);
const io = require("socket.io")(server);
// const formatMessage = require("./utils/messages");
const {
userJoin,
getCurrentUser,
userLeave,
getRoomUsers,
} = require("./utils/users");
const indexRouter = require("./routes/index");
const roomRouter = require("./routes/room");
const PORT = 3000 || process.env.PORT;
app.set('io', io)
app.set("view engine", "ejs");
app.use(express.static("public"));
app.use("/", indexRouter);
app.use("/room", roomRouter);
// 클라이언트 연결
io.on("connection", (socket) => {
// join-room요청?이 왔을때
socket.on("join-room", (roomId, userId) => {
const user = userJoin(socket.id, )
console.log('server.js io.on : room - ',roomId,'| user - ', userId, ' socket: ',socket.id);
// room 접속
socket.join(roomId);
// 자신을 제외한 user들에게
socket.to(roomId).broadcast.emit("user-connected", userId);
// 연결이 끊겼을 때
socket.on("disconnect", () => {
socket.to(roomId).broadcast.emit("user-disconneted", userId);
});
});
});
server.listen(PORT, ()=>{
console.log(`${PORT} is open`)
});
// 유투브 - peerjs와 socket.io를 이용한 스트리밍 뼈대
// https://www.youtube.com/watch?v=DvlyzDZDEq4&t=440s
// const express = require("express");
// const app = express();
// const path = require("path");
// const createError = require("http-errors"); // 상황에 맞는 에러를 보내줌
// const cookieParser = require("cookie-parser"); // 쿠키생성에 사용
// const logger = require("morgan"); // 로그 기록을 돕는 모듈
// const server = require("http").Server(app);
// const io = require("socket.io")(server);
// const indexRouter = require("./routes/index");
// const roomRouter = require("./routes/room");
// io.on("connection", (socket) => {
// socket.on("join-room", (roomId, userId) => {
// console.log(roomId, userId);
// socket.join(roomId)
// socket.to(roomId).broadcast.emit('user-connected', userId)
// });
// });
// app.use(logger("dev"));
// app.use(express.json());
// app.use(express.urlencoded({ extended: false }));
// app.use(cookieParser());
// app.use(express.static(path.join(__dirname, "public")));
// app.set("socketio", io);
// app.set("views", path.join(__dirname, "views"));
// app.set("view engine", "ejs");
// app.engine("html", require("ejs").renderFile);
// app.use("/", indexRouter);
// app.use("/room", roomRouter);
// io.on("connection", (socket) => {
// socket.on("join-room", (roomId, userId) => { // join-room요청?이 왔을때
// console.log('server.js io.on : room - ',roomId,'| user - ', userId);
// socket.join(roomId); // room 접속
// socket.to(roomId).broadcast.emit("user-connected", userId); // 자신을 제외한 user들에게
// socket.on("disconnect", () => { // 연결이 끊겼을 때
// socket.to(roomId).broadcast.emit("user-disconneted", userId);
// });
// });
// });
// server.listen(3000, ()=>{
// console.log('port 3000 open')
// });
// // module.exports = app;