- 클라 <> 서버 간 양방향 전이중(full-duplex)통신을 가능하게 하는 프로토콜
특징
- 실시간 양방향 통신
- 클라와 서버가 동시에 데이터를 주고 받을 수 있다.
- 지속적 연결
- 낮은 지연시간
- 연결이 유지되므로, 새로운 요청마다 연결을 설정할 ㅣㄹ요가 없다.
- 효율적인 프로토콜
작동방식
- 핸드쉐이크
- 프로토콜 전환
- 서버가 동의하면 HTTP에서 웹소켓 프로토콜로 전환
- 양방향 통신
예시
// 클라이언트 측
const socket = new WebSocket('ws://example.com/socketserver');
socket.onopen = function(event) {
console.log('WebSocket 연결됨');
socket.send('안녕하세요, 서버!');
};
socket.onmessage = function(event) {
console.log('서버로부터 메시지 수신:', event.data);
};
socket.onclose = function(event) {
console.log('WebSocket 연결 종료');
};