Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드
- 자바
- javascript
- 해석
- Portfolio
- caddy
- it
- error
- 컴퓨터과학총론
- H2O
- 구글
- C
- NGINX
- centOS7
- 개발
- server
- 프래그먼트
- java
- ubuntu
- techEmpower
- 번역
- mariadb
- C lanuage
- MySQL
- unity
- 개발자
- kakao
- 한글
- php
- android
Archives
- Today
- Total
개발모음집
socket.io 관련 코드들 본문
서버에서 클라이언트로 채팅보내는 방법
io.sockets.in(room_id).emit('msgAlert',data);//자신포함 전체 룸안의 유저
socket.broadcast.to(room_id).emit('msgAlert',data); //자신 제외 룸안의 유저
socket.in(room_id).emit('msgAlert',data); //broadcast 동일하게 가능 자신 제외 룸안의 유저
io.of('namespace').in(room_id).emit('msgAlert', data) //of 지정된 name space의 유저의 룸
출처: https://opens.kr/63 [opens.kr]
클라이언트에서 서버와 연결중인지 확인하는 코드
socket = io('http://localhost:3000');
// socket이 연결되어있는지 확인하는 코드
if(socket.connect().connected) {
}
- room안에서 어떤 유저가 있는지 확인하는 코드
io.of('/').in(roomName).clients((err, clients) => {
// 배열의 userid와 socket id를 비교한다.
console.log(clients) // an array of socket ids
});
** 에러
- page reload하면, 소켓이 끊기지 않아 socketio 서버가 무한루프로 disconnection 동작을 했다.
disconnet 코드를 작성해주면 에러 해결
socket.on('disconnect', function () {
console.log('disconnect :' + socket.connected);
socket.emit('disconnect', {
type: 'connection',
roomName: roomName,
name: 'chatNameInput.value'
})
});
// 안됨
let socket = io('http://localhost:3000');
sendBtn.onclick = (() => {
socket.on('connect', function () {
}
}
// 됨
let socket = io('http://localhost:3000');
socket.on('connect', function () {
}
sendBtn.onclick = (() => {
}
socket을 전역변수로 선언하고 소켓 연결을 클릭이벤트로 했을 때 위 connect 동작하지 않는다. 왜 그런지는 모르겠다. 그래서 클릭이벤트 밖에서 썼더니 사용가능해서 그냥 밖에서 사용했다.
-
'Server > node.js' 카테고리의 다른 글
package-lock.json error (0) | 2020.01.09 |
---|---|
express mysql2 connection.execute()의 results 값 return 하기 (0) | 2020.01.08 |
socket.io namespace, room (0) | 2019.12.20 |
nodejs nodemailer error (0) | 2019.12.19 |
Passing chat data from socket.io client to socket.io server (0) | 2019.12.18 |