2024-12-10 TIL
웹 소켓을 만들면서 필요한 개념들 정리
- 웹 소켓은 stateful(상시 연결 상태)이다. http는 stateless(그 때 그 때 연결)이다.
- express는 웹 프레임워크이며 request, response를 사용하기 위해서 사용하는 모듈이다.
- socket.io는 웹 소켓을 사용하기 위한 모듈이며 이걸 이용해 서버를 만든다.
- 서버와 클라이언트 간의 데이터 전송은 on(데이터 전송을 대기 받음), emit(데이터를 전송 보냄)의 묶음이다.
import { Server as SocketIO } from 'socket.io';
import { registerHandler } from '../handlers/register.handler.js';
const initSocket = (server) => {
const io = new SocketIO();
io.attach(server);
registerHandler(io);
//io.on('connection', (socket) => { })
};
export default initSocket;
핸들러
핸들링 : 함수를 다룬다는 의미
핸들러 : 중간에 원하는 함수와 연결해주는 브로커 역할
밑과 같이 핸들링을 관리할 수 있다.
//아이디 값을 받고 그것에 맞는 함수를 불러오는 방식으로
export const handlerMappings = {
2 : gameStart,
3 : gameEnd,
11 : moveStageHandler
}