server.js 1.43 KB
Newer Older
우지원's avatar
우지원 committed
1
2
3
import express from 'express'
import connectDb from './utils/connectDb.js'
import userRouter from './routes/user.routes.js'
4
import authRouter from './routes/auth.routes.js'
Soo Hyun Kim's avatar
Soo Hyun Kim committed
5
import roomRouter from './routes/room.routers.js'
6
7
8
import bodyParser from "body-parser";
import http from "http";
import { Server } from 'socket.io';
Soo Hyun Kim's avatar
soo0115    
Soo Hyun Kim committed
9
import cors from "cors"
10

우지원's avatar
우지원 committed
11
connectDb()
Choi Ga Young's avatar
Choi Ga Young committed
12

우지원's avatar
우지원 committed
13
const app = express()
Choi Ga Young's avatar
Choi Ga Young committed
14

15
16
17
18
19
20
21
const server = http.createServer(app);

const io = new Server(server)

io.on("connection", (socket) => { // 기본 연결
  console.log("socket connect ok", socket.id)

Soo Hyun Kim's avatar
soo0115    
Soo Hyun Kim committed
22
23
  socket.on('joinRoom', (data)=>{ // joinRoom을 클라이언트가 emit했을 때
    let roomName=data;
24
25
26
    socket.join(roomName); //클라이언트에서 data에 적힌 room으로 참여시킴
  });

Soo Hyun Kim's avatar
Soo Hyun Kim committed
27
28
29
30
31
32
33
  // socket.on('chat', (data)=>{
  //   io.to(data.roomName).emit('chat',data.msg); //roomName에 존재하는 모든 소켓들에게 
  // })

  socket.on('chat', (data) => {
    socket.broadcast.emit('sendedMSG', data.msg ); // everyone gets it but the sender
  });
34
35
36
37

  socket.on('disconnect', () => {
    console.log('disconnected from server id=', socket.id)
  })
Soo Hyun Kim's avatar
soo0115    
Soo Hyun Kim committed
38
  
39
40
41
});

// app.use(express.json())
우지원's avatar
우지원 committed
42
//이부분을 body 파싱함
43
app.use(bodyParser.json());
44
app.use(cors());
45

JeongYeonwoo's avatar
JeongYeonwoo committed
46
app.use('/images', express.static('uploads/'))
우지원's avatar
우지원 committed
47
app.use(userRouter)
48
app.use(authRouter)
49
app.use(roomRouter)
Choi Ga Young's avatar
Choi Ga Young committed
50

JeongYeonwoo's avatar
JeongYeonwoo committed
51
server.listen(3030, () => {
52
  console.log('Listening on port 3030')
53
})
54

Soo Hyun Kim's avatar
soo0115    
Soo Hyun Kim committed
55
export default server
56
// module.exports = server;