devsho
......@@ -75,43 +75,47 @@ app.use(router) // router 정의
// Socket.io
io.sockets.on('connection', function(socket) {
try{
/* 새로운 유저가 접속했을 경우 다른 소켓에게도 알려줌 */
socket.on('newUser', function() {
/* 소켓에 이름 저장해두기 */
var tempSession = socket.handshake.sessionStore.sessions;
var key = socket.handshake.sessionID;
// tempSession[key] = String Type
var ip = socket.handshake.address;
/* 새로운 유저가 접속했을 경우 다른 소켓에게도 알려줌 */
socket.on('newUser', function() {
/* 소켓에 이름 저장해두기 */
var tempSession = socket.handshake.sessionStore.sessions;
var key = socket.handshake.sessionID;
// tempSession[key] = String Type
if(tempSession[key] != undefined){
var useSession = JSON.parse(tempSession[key]);
socket.name = useSession.passport.user.nickname
console.log(logString + socket.name+' 님이 접속하였습니다.')
console.log(logString + socket.name+' 님이 접속하였습니다.('+ip+')')
/* 모든 소켓에게 전송 */
io.sockets.emit('update', {type: 'connect', name: 'SERVER', message:socket.name + '님이 접속하였습니다.'})
})
}
catch{
//
}
}
})
/* 전송한 메시지 받기 */
socket.on('message', function(data) {
/* 받은 데이터에 누가 보냈는지 이름을 추가 */
data.name = socket.name
console.log(data)
/* 보낸 사람을 제외한 나머지 유저에게 메시지 전송 */
socket.broadcast.emit('update', data);
if(socket.name != undefined){
/* 받은 데이터에 누가 보냈는지 이름을 추가 */
data.name = socket.name
/* 보낸 사람을 제외한 나머지 유저에게 메시지 전송 */
socket.broadcast.emit('update', data);
}
else{
console.log(logString+'익명 유저의 채팅 전송을 거부했습니다.('+ip+')')
//
}
})
/* 접속 종료 */
socket.on('disconnect', function() {
console.log(logString+socket.name + ' 님이 나가셨습니다.')
/* 나가는 사람을 제외한 나머지 유저에게 메시지 전송 */
if(socket.name != undefined){
console.log(logString+socket.name + ' 님이 나가셨습니다.')
/* 나가는 사람을 제외한 나머지 유저에게 메시지 전송 */
socket.broadcast.emit('update', {type: 'disconnect', name: 'SERVER', message: socket.name + '님이 나가셨습니다.'});
}
})
})
......
......@@ -61,15 +61,15 @@ create table board(
>UPDATE board SET idx = @COUNT:=@COUNT+1;
---
### 최종 수정: 2021-11-25 17:57<br>
### 최종 수정: 2021-11-25 18:48<br>
### 수정 내용:
0. 사용자-서버 채팅간 여백
0. 채팅 엔터키
0. 채팅(socket) 사용 중 서버 재시작 시 서버 오류
1. 채팅 구현
2. 시간 실시간 반영
3. 프로필 사진 추가
4. 프로필 검색 추가
5. 프로필 비주얼 업데이트
6. 코드 다듬음
7. 버그 수정
\ No newline at end of file
6. 채팅(socket) 사용 중 서버 재시작 시 서버 오류 해결
7. 코드 다듬음
8. 버그 수정
\ No newline at end of file
......
......@@ -263,7 +263,6 @@ router.post('/upload', upload.single('userfile'), function(req,res){
}
})
function popup(){
var url = "/profile/upload";
var name = "파일 업로드";
......@@ -278,11 +277,4 @@ function enterkey() {
}
}
function enterkey() {
if (window.event.keyCode == 13) {
// 엔터키가 눌렸을 때 실행할 내용
send();
}
}
module.exports = router;
\ No newline at end of file
......