자바스크립트 fetch API를 활용한 웹 소켓 통신

웹 소켓은 실시간 양방향 통신을 제공하는 프로토콜로, 클라이언트와 서버 간에 지속적인 커뮤니케이션을 가능하게 합니다. 자바스크립트의 fetch API를 활용하면 쉽게 웹 소켓 통신을 구현할 수 있습니다. 이번 포스트에서는 자바스크립트 fetch API를 사용하여 웹 소켓 통신을 구현하는 방법을 알아보겠습니다.

fetch API를 사용하여 웹 소켓 연결하기

먼저, fetch API를 사용하여 웹 소켓에 연결하는 방법을 살펴보겠습니다.

const webSocketUrl = 'wss://example.com/socket';
const webSocket = new WebSocket(webSocketUrl);

webSocket.onopen = () => {
  console.log('WebSocket connection is open');
};

webSocket.onmessage = (event) => {
  const message = JSON.parse(event.data);
  console.log('Received message from server:', message);
};

webSocket.onerror = (error) => {
  console.error('WebSocket error:', error);
};

webSocket.onclose = () => {
  console.log('WebSocket connection is closed');
};

위의 코드에서 webSocketUrl 변수에 연결할 웹 소켓 서버의 URL을 지정하고, new WebSocket()으로 웹 소켓 객체를 생성합니다. 그 후, onopen, onmessage, onerror, onclose 등의 이벤트 핸들러를 등록하여 웹 소켓 연결 상태 및 수신한 메시지 처리를 할 수 있습니다.

웹 소켓으로 데이터 전송하기

웹 소켓을 통해 데이터를 서버로 전송하는 방법을 알아보겠습니다.

const message = {
  type: 'chat',
  content: 'Hello, server!'
};

webSocket.send(JSON.stringify(message));

위의 코드에서는 send() 메소드를 사용하여 서버로 데이터를 전송합니다. 데이터는 JSON 문자열로 변환하여 전송해야 하므로 JSON.stringify()를 사용하여 메시지 객체를 문자열로 변환한 후 send()에 전달합니다.

웹 소켓 연결 해제하기

웹 소켓 연결을 해제하는 방법은 다음과 같습니다.

webSocket.close();

위의 코드는 close() 메소드를 호출하여 웹 소켓 연결을 해제합니다.

요약

자바스크립트의 fetch API를 활용하여 웹 소켓 통신을 구현할 수 있습니다. 웹 소켓을 사용하면 실시간 양방향 통신이 가능해지며, fetch API를 활용하여 간편하게 웹 소켓 연결을 설정하고 데이터를 전송할 수 있습니다. 이를 통해 웹 애플리케이션에서 실시간 업데이트가 필요한 경우에 효과적으로 통신할 수 있습니다.