1차 공부/공부한 자료

221224 socket.io / emit

공대탈출 2022. 12. 24. 10:51

WebSocket을 사용하면 원하는 방식으로 특정 이벤트에 따른 값을 전달하거나 전달받기 어렵다.

그래서 socket.io같은 웹소켓 라이브러리를 사용한다.

 

socket.io에는 emit이라는 것이 있는데, 이는 서버나 클라이언트 각 어느곳에서라도 원하는 이벤트명으로 특정 인자를 전달 할 수 있다.

값 뿐만 아니라 객체, 함수 등을 보낼 수 있다.

함수를 보낼 때는 서버에서 함수를 실행하는 것이아닌, 함수 실행 버튼을 보낸다고 생각하면된다.

서버단에서 함수실행버튼을 눌러 클라이언트에 실행하는 정보를 넘기고 클라이언트에서 해당 함수를 실행하는 것이다.

 

클라이언트에서 보낸 함수를 서버에서 직접 실행하면 심각한 보안상의 문제가 발생할 수 있다고 한다.

socket.emit('enter_room', input.value, showRoom);

예를들어 enter_room이라는 이벤트명으로 input.value를 보내고, showRoom이라는 함수를 보내면 그 값을 받은 곳에서 실행할 수 있는 것이다.

'1차 공부 > 공부한 자료' 카테고리의 다른 글

typescript 공부1  (0) 2023.01.02
221226 useMemo  (0) 2022.12.26
221224 웹소켓  (0) 2022.12.24
221224 HTTP통신  (0) 2022.12.24
221221 태그정리2  (0) 2022.12.21