synun
개발시넌
synun
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • javascript (5)
    • react (8)
    • web (1)
    • git (3)
    • aws (1)
    • project (0)
    • 개발일기 (36)
    • 항해99 (16)
    • 회고 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • sipe
  • 항해99
  • gh-pages
  • javascript
  • apt-fast
  • use-sound
  • 알고리즘풀이
  • fout
  • howler.js
  • Vite
  • Redux-toolkit
  • SSE
  • 합성컴포넌트
  • React
  • password authentication was removed
  • CI/CD
  • GIT
  • Howler
  • github actions
  • wil
  • json-server
  • 인프랩
  • life-cycle
  • framer-motion
  • Algorithm
  • 인프콘
  • Selenium
  • TIL
  • githubactions
  • react-query

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
synun

개발시넌

[Vite] vite로 이유 모르게 웹소켓 통신이 안되는 경우(ws, sockjs)
react

[Vite] vite로 이유 모르게 웹소켓 통신이 안되는 경우(ws, sockjs)

2023. 1. 5. 00:52

springboot로 만든 시그널링 서버와 react의 클라이언트 연결을 시도하는 중에 이유를 알 수 없게 연결이 되지 않았다.

여러 차례 다시 확인해봐도 코드 상으로 전혀 문제가 없는데, 연결이 전혀 되지 않았다.

진짜 킹받는 whoops

이상한 느낌이 들어서 똑같은 코드를 cra해서 만들어보고 실행해보았다.

좌 : cra / 우 : vite

딱 한가지의 차이점이 있었는데 vite쪽 웹 소켓을 vite-hmr이라는 프로토콜을 사용하고 있었다.

switching protocols가 발생하면서 cra는 /ws가 붙지만 vite는 붙지 않는다.

물론 cra로 진행한쪽은 통신이 잘된다.

 

HMR은 Hot Module Replacement의 약자로 애플리케이션을 다시 시작하지 않고도 일부 컨텐츠만을 갱신할 수 있다는 vite의 특징이자 장점이다. 하지만 통신 프로토콜과는 무슨 상관이 있는지 알기가 힘들다.

 

Vite Hot Module Replacement - A Complete Example

This article explains how to set up hot module replacement (HMR) with Vite for a vanilla JS project....

dev.to

 

vite는 다음 스택오버플로우의 글처럼 config설정을 건드려줘야 하는 것 같다.

 

Vitejs: WebSocket connection to 'wss://host:port/' failed due to HMR

I deployed a Vue page with Docker and Kubernetes and it is working. However, even though I disabled HMR, Vite keeps refreshing after an error: WebSocket connection to 'wss://dashboard.default.io:8...

stackoverflow.com

 

서버 hmr 설정 관련해서는 공식문서에 옵션이 설명되어 있지만, 디테일한 사용법이나 용어에 대해서는 설명하고 있지 않아서 기술적인 공부가 되어 있어야 할 것 같다.

 

 

Vite

Vite, 차세대 프런트엔드 개발 툴

vitejs-kr.github.io

자세한 해결책은 자세히 알 수는 없었지만, vite에서 웹소켓 통신이 되지 않는 이유나 해결책의 키워드를 제시하는 정도는 했을 것이라고 보고 글을 남긴다.

'react' 카테고리의 다른 글

[React] React 배포하기 (EC2, S3)  (0) 2023.01.05
[React] Github Actions로 CI/CD 적용하기  (1) 2023.01.05
json-server 커스텀하기  (0) 2022.12.19
[React] Lifecycle과 메소드 그리고 Hook  (0) 2022.12.12
[React] Redux-toolkit 입문하기  (0) 2022.12.10
    'react' 카테고리의 다른 글
    • [React] React 배포하기 (EC2, S3)
    • [React] Github Actions로 CI/CD 적용하기
    • json-server 커스텀하기
    • [React] Lifecycle과 메소드 그리고 Hook
    synun
    synun

    티스토리툴바