쉽다. 다른 부분 제쳐두고,
const sockets = [];
wss.on("connection", (socket)=>{
sockets.push(socket);
console.log("Connected to Client");
socket.send("hello!");
socket.on("message", (m)=>{
for(const sc of sockets){
sc.send(m.toString('utf-8'))
}
});
socket.on("close", (socket)=>{
const idx = sockets.indexOf(socket);
sockets.splice(idx,1);
console.log("Disconnected socket");
});
});
연결될 시, 그 소켓을 sockets 라는 빈 배열에 추가한다.
그 다음, 그 소켓들 중 누군가 server로 메시지를 보내면,
server에서 그 sockets에 추가된(connection을 했기에 추가된) socket들 한테 모두 똑같은 메시지를 보낸다.
나는 여기서 socket쪽에서 끊기면 배열에서 지우도록 했다.
잘 된다.
'실시간 > WebSocket을 이용한 채팅' 카테고리의 다른 글
6. 닉네임 (0) | 2023.10.25 |
---|---|
4. 웹소켓으로 클라이언트와 서버 간 메시지 주고받기 (0) | 2023.10.19 |
3. 웹소켓 이벤트 (0) | 2023.10.19 |
2. 웹소켓 서버 구현 (0) | 2023.10.18 |
1. HTTP와 WebSocket (0) | 2023.10.18 |