Toggle navigation
Toggle navigation
This project
Loading...
Sign in
최시원
/
Singer-Composer
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Mukho
2021-11-25 18:48:29 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
05b78463a1261d3828e9f856c1bc04d0c88e32c7
05b78463
1 parent
2731778e
Fix Socket.io Error
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
37 deletions
app.js
readme.md
router/profile/index.js
app.js
View file @
05b7846
...
...
@@ -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
+
'님이 나가셨습니다.'
});
}
})
})
...
...
readme.md
View file @
05b7846
...
...
@@ -61,15 +61,15 @@ create table board(
>UPDATE board SET idx = @COUNT:=@COUNT+1;
---
### 최종 수정: 2021-11-25 1
7:57
<br>
### 최종 수정: 2021-11-25 1
8: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
...
...
router/profile/index.js
View file @
05b7846
...
...
@@ -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
...
...
Please
register
or
login
to post a comment