[javascript] 웹 소켓 통신에서 정보를 주고받는 방법

웹 소켓은 실시간 양방향 통신을 지원하는 프로토콜입니다. 이를 통해 웹 애플리케이션에서 서버와 클라이언트 간 정보를 주고받을 수 있습니다. 이번 포스트에서는 웹 소켓을 사용하여 정보를 주고받는 방법에 대해 알아보겠습니다.

웹 소켓 통신 설정

웹 소켓을 사용하기 위해서는 클라이언트 및 서버 양쪽에서 웹 소켓 연결을 설정해야 합니다. 클라이언트에서는 WebSocket 객체를 사용하여 서버에 연결하고, 서버에서는 웹 소켓을 활성화하고 연결 요청을 수락해야 합니다.

클라이언트 측 설정

const socket = new WebSocket('ws://서버주소:포트');
socket.onopen = () => {
  console.log('웹 솹켓 연결이 열렸습니다.');
};
socket.onmessage = (event) => {
  console.log('받은 메시지: ', event.data);
};
socket.onclose = () => {
  console.log('웹 솹켓 연결이 닫혔습니다.');
};

서버 측 설정

서버 측에서는 웹 소켓을 만들고 클라이언트의 연결 요청을 받아들입니다.

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 포트 });

wss.on('connection', (ws) => {
  ws.on('message', (message) => {
    console.log('받은 메시지: ', message);
  });

  ws.send('서버에서 보낸 메시지');
});

정보 주고받기

웹 소켓을 통해 정보를 주고받을 때는 send() 메서드를 사용하여 메시지를 보내고, 클라이언트 측에서는 onmessage 이벤트 핸들러를 사용하여 받은 메시지를 처리합니다.

결론

웹 소켓을 사용하면 HTTP보다 더 빠르고 가볍게 실시간 통신이 가능합니다. 웹 소켓을 통해 서버와 클라이언트 간 정보를 주고받으며 실시간 애플리케이션을 구축할 수 있습니다.

이러한 장점을 통해 웹 소켓은 현대적인 웹 애플리케이션에서 널리 사용되고 있습니다.

참고 자료