[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보다 더 빠르고 가볍게 실시간 통신이 가능합니다. 웹 소켓을 통해 서버와 클라이언트 간 정보를 주고받으며 실시간 애플리케이션을 구축할 수 있습니다.
이러한 장점을 통해 웹 소켓은 현대적인 웹 애플리케이션에서 널리 사용되고 있습니다.
참고 자료
- MDN Web Docs: 웹 솹켓 API
- WebSocket API 문서: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket