Merge branch 'master' of http://khuhub.khu.ac.kr/2017104034/Singer-Composer
Showing
4 changed files
with
38 additions
and
34 deletions
| ... | @@ -24,7 +24,7 @@ var LocalStrategy = require('passport-local').Strategy | ... | @@ -24,7 +24,7 @@ var LocalStrategy = require('passport-local').Strategy |
| 24 | var session = require('express-session') | 24 | var session = require('express-session') |
| 25 | var flash = require('connect-flash') | 25 | var flash = require('connect-flash') |
| 26 | var path = require('path') | 26 | var path = require('path') |
| 27 | -const PORT = 3003 | 27 | +const PORT = 3000 |
| 28 | 28 | ||
| 29 | var jsdom = require('jsdom'); | 29 | var jsdom = require('jsdom'); |
| 30 | const { JSDOM } = jsdom; | 30 | const { JSDOM } = jsdom; |
| ... | @@ -74,6 +74,7 @@ var session = session({ | ... | @@ -74,6 +74,7 @@ var session = session({ |
| 74 | app.use(session); | 74 | app.use(session); |
| 75 | 75 | ||
| 76 | var sharedsession = require("express-socket.io-session"); | 76 | var sharedsession = require("express-socket.io-session"); |
| 77 | +const { createSocket } = require('dgram') | ||
| 77 | io.use(sharedsession(session, { autoSave:true})); | 78 | io.use(sharedsession(session, { autoSave:true})); |
| 78 | 79 | ||
| 79 | app.use(passport.initialize()) | 80 | app.use(passport.initialize()) |
| ... | @@ -113,16 +114,16 @@ io.sockets.on('connection', function(socket) { | ... | @@ -113,16 +114,16 @@ io.sockets.on('connection', function(socket) { |
| 113 | } | 114 | } |
| 114 | else{ | 115 | else{ |
| 115 | console.log(logString+'익명 유저의 채팅 전송을 거부했습니다.('+ip+')') | 116 | console.log(logString+'익명 유저의 채팅 전송을 거부했습니다.('+ip+')') |
| 116 | - // | 117 | + // |
| 117 | } | 118 | } |
| 118 | }) | 119 | }) |
| 119 | - | 120 | + |
| 120 | /* 접속 종료 */ | 121 | /* 접속 종료 */ |
| 121 | socket.on('disconnect', function() { | 122 | socket.on('disconnect', function() { |
| 122 | if(socket.name != undefined){ | 123 | if(socket.name != undefined){ |
| 123 | console.log(logString+socket.name + ' 님이 나가셨습니다.') | 124 | console.log(logString+socket.name + ' 님이 나가셨습니다.') |
| 124 | /* 나가는 사람을 제외한 나머지 유저에게 메시지 전송 */ | 125 | /* 나가는 사람을 제외한 나머지 유저에게 메시지 전송 */ |
| 125 | - socket.broadcast.emit('update', {type: 'disconnect', name: 'SERVER', message: socket.name + '님이 나가셨습니다.'}); | 126 | + socket.broadcast.emit('update', {type: 'disconnect', name: 'SERVER', message: socket.name + '님이 나가셨습니다.'}); |
| 126 | } | 127 | } |
| 127 | }) | 128 | }) |
| 128 | }) | 129 | }) | ... | ... |
| ... | @@ -10,41 +10,42 @@ socket.on('connect', function() { | ... | @@ -10,41 +10,42 @@ socket.on('connect', function() { |
| 10 | 10 | ||
| 11 | /* 서버로부터 데이터 받은 경우 */ | 11 | /* 서버로부터 데이터 받은 경우 */ |
| 12 | socket.on('update', function(data) { | 12 | socket.on('update', function(data) { |
| 13 | - var chat = document.getElementById('chat') | 13 | + var chat = document.getElementById('chat') |
| 14 | 14 | ||
| 15 | - var message = document.createElement('div') | 15 | + var message = document.createElement('div') |
| 16 | - var node; | 16 | + var node; |
| 17 | - if(data.name != "SERVER"){ | 17 | + if(data.name != "SERVER"){ |
| 18 | - node = document.createTextNode(`${data.name}: ${data.message}`) | 18 | + node = document.createTextNode(`${data.name}: ${data.message}`) |
| 19 | - } else{ | 19 | + } |
| 20 | - node = document.createTextNode(`${data.message}`) | 20 | + else{ |
| 21 | - } | 21 | + node = document.createTextNode(`${data.message}`) |
| 22 | - var className = '' | 22 | + } |
| 23 | + var className = '' | ||
| 23 | 24 | ||
| 24 | - // 타입에 따라 적용할 클래스를 다르게 지정 | 25 | + // 타입에 따라 적용할 클래스를 다르게 지정 |
| 25 | - switch(data.type) { | 26 | + switch(data.type) { |
| 26 | - case 'message': | 27 | + case 'message': |
| 27 | - className = 'other' | 28 | + className = 'other' |
| 28 | - break | 29 | + break |
| 29 | 30 | ||
| 30 | - case 'connect': | 31 | + case 'connect': |
| 31 | - className = 'connect' | 32 | + className = 'connect' |
| 32 | - break | 33 | + break |
| 33 | 34 | ||
| 34 | - case 'disconnect': | 35 | + case 'disconnect': |
| 35 | - className = 'disconnect' | 36 | + className = 'disconnect' |
| 36 | - break | 37 | + break |
| 37 | - } | 38 | + } |
| 38 | 39 | ||
| 39 | - message.classList.add(className) | 40 | + message.classList.add(className) |
| 40 | - message.appendChild(node) | 41 | + message.appendChild(node) |
| 41 | - chat.appendChild(message) | 42 | + chat.appendChild(message) |
| 42 | 43 | ||
| 43 | - function a(chat = 'chat'){ | 44 | + function a(chat = 'chat'){ |
| 44 | - var element = document.getElementById(chat); | 45 | + var element = document.getElementById(chat); |
| 45 | - element.scrollTop = element.scrollHeight - element.clientHeight; | 46 | + element.scrollTop = element.scrollHeight - element.clientHeight; |
| 46 | - } | 47 | + } |
| 47 | - a(); | 48 | + a(); |
| 48 | }) | 49 | }) |
| 49 | 50 | ||
| 50 | /* 메시지 전송 함수 */ | 51 | /* 메시지 전송 함수 */ | ... | ... |
| ... | @@ -70,8 +70,9 @@ create table comment( | ... | @@ -70,8 +70,9 @@ create table comment( |
| 70 | >UPDATE board SET idx = @COUNT:=@COUNT+1; | 70 | >UPDATE board SET idx = @COUNT:=@COUNT+1; |
| 71 | 71 | ||
| 72 | --- | 72 | --- |
| 73 | -### 최종 수정: 2021-11-26 04:42<br> | 73 | +### 최종 수정: 2021-11-26 16:26<br> |
| 74 | ### 수정 내용: | 74 | ### 수정 내용: |
| 75 | +0. 채팅 중 서버 재시작시 기존 참여자들 리셋시키기 이슈 | ||
| 75 | 1. 채팅 구현 | 76 | 1. 채팅 구현 |
| 76 | 2. 시간 실시간 반영 | 77 | 2. 시간 실시간 반영 |
| 77 | 3. 프로필 사진 추가 | 78 | 3. 프로필 사진 추가 | ... | ... |
| ... | @@ -147,6 +147,7 @@ router.post('/read/commentwrite', function(req,res,next){ | ... | @@ -147,6 +147,7 @@ router.post('/read/commentwrite', function(req,res,next){ |
| 147 | board.query(sql, datas, function(err,row){ | 147 | board.query(sql, datas, function(err,row){ |
| 148 | if (err) console.error("err : " + err); | 148 | if (err) console.error("err : " + err); |
| 149 | }) | 149 | }) |
| 150 | + console.log(logString+req.user.ID+'('+nickname+') 유저가 '+idx+'번 게시물에 댓글을 작성했습니다.('+ip+')') | ||
| 150 | res.redirect('/board/read/'+idx); | 151 | res.redirect('/board/read/'+idx); |
| 151 | }) | 152 | }) |
| 152 | 153 | ... | ... |
-
Please register or login to post a comment