항해99/매일 기록

항해 99 - 2022.03.31.THU (소켓 티키타카!)

<zinny/> 2022. 3. 31. 21:04
728x90
이번 챕터 일정
  • 02/26 기획 회의 ✅
  • 02/28 알고리즘 스터디 발제 ✅
  • 03/01 1차 기획멘토링 ✅
  • 03/05 1차 기술 멘토링  ✅
  • 03/09 2차 기획 멘토링 ✅
  • 03/12 2차 기술 멘토링 ✅
  • 03/16 3차 기획 멘토링 ✅
  • 03/19 중간 점검 ✅
  • 03/23 4차 기획멘토링 & 3차 기술 멘토링 ✅
  • 03/26 4차 기술 멘토링 ✅
  • 04/09 최종 발표회 

오늘 내가 할 일 

  • 오류잡기✅
    • 뱃지 바로 변경 안되는 부분 및 이미지 수정
    • 카카오 로그인 수정 
    • 인풋창 포커스 색 수정
    • 마이페이지 버튼 유저 친화적인 단어로 변경
    • 푸터 및 사이드바 반응형 안되는 부분 수정
    • 소켓으로 서버랑 2초동안 티키타카 해서 방에 사람있는지 지속적으로 체크하기
이미 어제 아니 오늘,,, 머야 여튼 새벽 다섯 시에 배포한다고 깝죽거리면서 
엄청나게 늦잠 자버렸다 엣큥 ㅎ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

그래도 오자마자 오류 수두룩 빽빽한거 하나씩 쳐내는 맛에 또 오늘 하루 살아갔다. 
눈만 뜨면 오류 생기고,,,
다시 눈뜨면 오류 생기고,,, 재밌다 ^^,,,

<소켓으로 방에 유저가 있는지 여부 지속적으로 소통하기>

  • 비 정상적인 방법으로 방 밖을 나올때 유저가 없어지지 않는 문제가 발생해서 
  • 방 내부 페이지를 벗어나면 소켓통신이 끊어지도록 코드를 바꿨다!
  • 방에 진입 하는 순간 방정보가 로컬 스토리지에 저장되는데 그 점을 이용해서 
  • 방 내부가 아닌곳에서 소켓 통신이 되는 상태 + 로컬 스토리지에 방정보가 저장되어 있다면?! 
  • 소켓 끊어내달라고 요청하기! 

`

  // connect Socket
  useEffect(() => {
    //방을 나갈때는 소켓아이디가 새롭게 변해서 값을 불러오지 못하게되서
    //만약에 이미 소켓이 있으면 다른 건 하지 못하게 하는 코드
    if (socket) {
      return;
    }
    const socketConnection = io.connect(BackUrl);
    dispatch(userActions.setSocket(socketConnection));
  }, [socket]);

  // 홈화면에서 방 나가기 요청
  useEffect(() => {
    if (!socket || !userId) {
      return;
    }
    if (localStorage.getItem('myRoom')) {
      //로컬스토리지에 있는 값을 지워랏!
      socket.emit('quit room');
      localStorage.removeItem('myRoom');
    }
  }, [socket, userId]);

  useEffect(() => {
    if (userMedia) {
      userMedia.getVideoTracks().forEach((track) => {
        track.stop();
      });
      userMedia.getAudioTracks().forEach((track) => {
        track.stop();
      });
    }
  }, [userMedia]);
728x90