본문 바로가기

Project/TIL

20.04.01 ShareBook TIL

socket.io 내용 정리

서버와 클라이언트 연결

 

클라이언트에 대한 접속이 오면 서버에서는 connection 이벤트가 발생한다.

클라이언트에서는 var socket = io()를 통해서 서버와 접속을 시도한다. 연결이 되면 connect라는 이벤트가 발생한다.

●데이터 교환

 

 

왼쪽 그림에서는 socket.emit으로 'hello'라는 이벤트를 발생시키고, socket.on으로 'howAreYou'라는 이벤트를 받는다.

오른쪽 그림에서는 'hello'라는 이벤트를 받고, 'howAreYou'라는 이벤트를 발생시킨다.

 

네임스페이스와 룸

 

 

 

 

룸의 경우에는 서버에서만 발생시킬 수 있으므로 서버에서 작성이 되어야 한다.

 

클라이언트에서 채팅방에 들어가고 싶으면 socket.emit('joinRoom', {room:room});으로 서버에게 요청하기 위한 이벤트를 발생시킨다.

서버에서는 'joinRoom'이라는 이벤트를 받으면 새로운 채팅방에 입장하거나 나가기를 할 수 있도록 만들어 줄 수 있다.

서버에서 io.to(room)으로 특정 room에 가입된 클라이언트에게 chatMessage를 보낼 수 있다.

'Project > TIL' 카테고리의 다른 글

20.04.02 ShareBook TIL  (0) 2020.04.02
20.03.31 ShareBook TIL  (0) 2020.04.01
20.03.30 ShareBook TIL  (0) 2020.03.31
20.03.29 ShareBook TIL  (0) 2020.03.29
20.03.28 ShareBook TIL  (0) 2020.03.29