inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[실시간 채팅 with React]

socket.io 이벤트 연결하기

웹소켓은 프록시 사용 할 수 없나요?

해결된 질문

1651

grs0412

작성한 질문수 18

0

`http://localhost:3095/ws-${workspace}`

위 주소로는 잘 되는데

`/api/ws-${workspace}`

로는 연결이 안됩니다.

 

웹소켓은 프록시 못쓰는건지,

못쓴다면 혹시 왜 안되는건지 이유를 여쭈워도 괜찮을까요?

react 웹팩 typescript socket.io babel 클론코딩

답변 1

0

제로초(조현영)

프록시에서 웹소켓을 쓰려면 웹팩데브서버 옵션에 ws: true를 넣어주시면 됩니다.

0

grs0412

  devServer: {
    historyApiFallback: true, //react router
    port: 3090,
    devMiddleware: { publicPath: '/dist/' },
    static: { directory: resolve(__dirname) },
    proxy: {
      '/api/': {
        target: 'http://localhost:3095',
        changeOrigin: true,
        ws: true,
      },
    },
  },  
  sockets[workspace] = io({ path: `/api/ws-${workspace}`, transports: ['websocket'] });

 

지금 위코드인데 이렇게 에러 표시가 뜹니다

<i> [webpack-dev-server] [HPM] Upgrading to WebSocket
<e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:3090/api/ws-sleact/?EIO=4&transport=websocket to undefined [ECONNRESET] (https://nodejs.org/api/errors.html#errors_common_system_errors)

 

아래코드로 하면 에러는 안뜨지만 역시 연결이 안됩니다.

   sockets[workspace] = io(`/api/ws-${workspace}`, { transports: ['websocket'] });

설정방법은 틀리지 않았는지 궁금합니다

0

제로초(조현영)

먼저 socket.io 버전을 확인하셔야 하고요(4버전 쓰시면 좋습니다)

https://github.com/ZeroCho/sleact/blob/master/front/hooks/useSocket.ts

여기와 코드가 같아야 합니다.

데브서버 설정은 맞습니다. 저도 지금 front 폴더로 해보니 잘 되는 것 확인했습니다.

기본 셋팅과 관련하여

0

92

1

초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법

0

96

2

focus 시에만 화면 업데이트 되는 이유 + 해결방법

0

150

2

useEffect 개수 관리

0

110

2

라이브러리 서치 방법

0

104

2

함수 정의 패턴

0

77

1

npm run dev 에러

0

152

3

npx webpack 후 에러

0

178

2

'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)

0

144

2

사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')

1

178

2

초기세팅중 packge.json 에러떠요

0

156

2

CORS - Access-Control-Allow-Origin 누락 문제

0

431

3

로그인 페이지 무한 새로고침 현상

0

598

2

Module not found: Error: Can't resolve './App' 에러

0

959

1

배포 방법

0

298

2

npm run dev 시 빌드가 매우 느려졌습니다

0

990

2

alias 경로 설정 오류

0

452

2

fetcher 함수의 data 값이 두번 찍히는 이유

0

278

1

제네릭 질문

0

218

2

ts-node 대신 tsx 사용여부

0

373

1

배포 관련 질문

0

247

1

[nginx + https] 서비스를 실행하면 niginx가 아닌 서비스 화면을 보여주게 하고 싶습니다.

0

385

2

[배포하기] webpack에 aws 퍼블릭 IPv4 주소 와 포트 주소를 작성하고 나서 빌드후 실행하면 오류가 발생합니다.

0

336

1

users 호출 시 쿠키가 담기지 않는 이슈 질문드립니다.

0

247

2