WebSockets
실시간 양방향 통신의 혁명
WebSocket은 클라이언트(브라우저)와 서버 간에 지속적인 풀 듀플렉스(Full-duplex, 양방향) 연결을 제공하는 통신 프로토콜입니다. 기존의 HTTP 통신은 클라이언트가 요청(Request)을 보내야만 서버가 응답(Response)하는 단방향 방식이었기 때문에 실시간 알림을 위해 주기적으로 서버를 찔러보는 폴링(Polling) 기법을 사용해야 했습니다.
WebSocket은 한 번 연결을 수립하면(Handshake), 서버가 원할 때 언제든 클라이언트에게 데이터를 푸시할 수 있어 트래픽 오버헤드가 적고 실시간성이 매우 뛰어납니다. 채팅 앱, 주식 차트, 실시간 멀티플레이어 게임 등에 널리 쓰입니다.
WebSocket은 한 번 연결을 수립하면(Handshake), 서버가 원할 때 언제든 클라이언트에게 데이터를 푸시할 수 있어 트래픽 오버헤드가 적고 실시간성이 매우 뛰어납니다. 채팅 앱, 주식 차트, 실시간 멀티플레이어 게임 등에 널리 쓰입니다.
// WebSocket 클라이언트 기본 구현 예제
// 1. 웹소켓 서버와 연결 (ws:// 또는 보안 프로토콜 wss:// 사용)
// const socket = new WebSocket('wss://echo.websocket.events');
console.log("웹소켓 서버에 연결을 시도합니다...");
/* 이벤트 핸들러 설정 요약 */
// socket.onopen = function(event) {
// console.log("서버와 연결되었습니다!");
// // 연결 성공 후 서버로 데이터 전송
// socket.send("안녕하세요, 웹소켓!");
// };
// socket.onmessage = function(event) {
// console.log("서버로부터 메시지 수신:", event.data);
// };
// socket.onerror = function(error) {
// console.error("웹소켓 에러 발생:", error);
// };
// socket.onclose = function(event) {
// console.log(`연결 종료 (코드: ${event.code})`);
// };
console.log("WebSocket은 이벤트 기반으로 동작하며, onmessage를 통해 실시간 데이터를 수신합니다.");