인프런 커뮤니티 질문&답변

성승영님의 프로필 이미지
성승영

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

웹소켓하고 리액트 연동관련 질문입니다.

작성

·

351

0

노드버드와 노드교과서를 같이 들으면서

노드버드에 웹소켓을 적용 시키려고 해봤습니다.

 

그런데 리액트 Applayout에서 Chatinguser 컴포넌트를 호출하면 Socket io가 연결되게 설정하려고 하는데

리액트가 렌더링할때마다 계속해서 socket.io에 connet되는것 같은데 정상인가요?

그냥 메인하고 회원가입만 왔다갔다 반복해도 socket.io connet가 계속 연결되어서

한개의 브라우저로 수십개의 socket이 연결이 되어서 과부화가 걸릴것 같은데

혹시 해결법이 채팅방 페이지를 따로 만드는것 외에는 방법이 없나요?

 

사실 리액트로 웹소켓 채팅방 만드는건 강의 커리큘럼에 없어서 따로 해결해보려고 하루종일 찾아봤는데 도저히 갈피를 못 잡겠어서 망설이다가 질문드립니다 ㅜㅜ

으앙망함.png

에러4.png 에러.png리액트가 렌더링될때마다 socket이 연결되서 수십개씩 연결이 쌓임

에러3.png

로그인 시 자동으로 전체 채팅창이 띄워지게 만들려고 했습니다.

에러2.png 아래 useEffect 2개는 접속중인 유저수 띄워볼려고 시도해봤는데 아직 성공하지 못한거여서 별로 신경 안쓰셔도 될것같고

socket이 브라우저 접속한번당 한번만 연결할 방법이없나요?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

socket은 페이지 나갈 때 알아서 연결 해제됩니다. 걱정 안 하셔도 됩니다.

성승영님의 프로필 이미지
성승영

작성한 질문수

질문하기