기술나눔

webSocket을 알고 이해하기

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

오늘 Niuke를 검색하다가 프론트 엔드 인터뷰 중에 webSocket에 문제가 발생했다고 공유하는 것을 보았습니다. 이전에 이런 지식 포인트를 본 적이 없어서 빨리 알아보고 여기에 기록했습니다!

WebSocket은 클라이언트와 서버가 동시에 데이터를 보내고 받을 수 있는 전이중 통신 채널을 제공하는 네트워크 통신 프로토콜입니다. 이는 클라이언트가 요청을 시작하고 서버가 요청에 응답하는 단방향 전통적인 HTTP 요청과 다릅니다. WebSocket을 사용하면 서버가 클라이언트에 메시지를 적극적으로 보낼 수 있으므로 온라인 채팅 애플리케이션, 실시간 게임, 주식 시세 업데이트 및 기타 시나리오와 같은 실시간 통신이 가능해집니다.

WebSocket의 기본 개념

  1. 연결이 설정되었습니다.: 클라이언트는 HTTP 요청을 전송하여 WebSocket 연결을 시작합니다. 이 요청에는 이것이 WebSocket 핸드셰이크 요청임을 나타내는 특정 헤더가 포함되어 있습니다.
  2. 악수하다: 서버는 요청을 받은 후 WebSocket을 지원하는 경우 HTTP 응답으로 응답하고 핸드셰이크 프로세스를 완료한 후 WebSocket 연결을 설정합니다.
  3. 데이터 전송 : 연결이 설정되면 클라이언트와 서버는 이 연결을 통해 데이터를 보낼 수 있습니다. 데이터는 텍스트 또는 바이너리 형식일 수 있습니다.
  4. 연결이 닫혔습니다: 어느 쪽이든 WebSocket 연결을 닫을 수 있습니다.

WebSocket 사용 단계

  1. WebSocket 인스턴스 생성: 클라이언트 측에서는 먼저 WebSocket 인스턴스를 생성하고 서버의 URL을 지정해야 합니다.

    const ws = new WebSocket('ws://example.com/socket');