tastekim / WeAllLie-BE

👀We Are Lie는 보드게임 '스파이 폴' 을 모티브로한 화상채팅으로 진행하는 온라인 보드게임 플랫폼 입니다 !(~2022.12.22)
3 stars 4 forks source link

[Requests] 프론트 요청 사항 (nickname 부여 방식, 방 접속된 유저 닉네임 배열 값) #184

Closed tastekim closed 1 year ago

tastekim commented 1 year ago

제안사항

항목 별 내용

  1. socket 에 임의의 속성을 부여해서 닉네임을 담아 사용하는 부분이 프론트에서 undefined로 받는 상황이 종종 생겨서 확실하게 수정되면 좋겠다는 의견입니다. socket에서도 cookie를 사용할 수 있어서 매 통신마다 cookie 가 담겨서 온다면 거기에 닉네임을 담으면 좋겠다라는 생각입니다. 이 부분은 먼저 수정해보고 시간상 빠르게 수정이 안되는 부분이라면 프론트한테 매 이벤트 메세지마다 닉네임도 함께 받아서 그 닉네임을 사용하는 방법으로 진행할 생각입니다.
  2. 유저들의 닉네임이 담긴 배열을 서버에서 프론트로 emit 해주는데 프론트에서는 이 배열로 유저들의 닉네임을 map을 사용해서 나열하는데 8명의 칸이 있는데 서버가 주는 배열이 그 만큼의 길이가 안되다보니 중복된 닉네임을 나열하게 되거나 순서가 이상해지는 상황인 것 같아서 서버에서 전달할 때 항상 배열의 길이가 8 인 배열을 전달해주는 걸로 해보기로 했습니다. 접속한 유저들의 닉네임이 앞에서부터 쌓이고 나머지 부분은 빈 문자열을 넣어서 길이를 맞추어 emit 해주는 것을 시도해보겠습니다.
ghost commented 1 year ago

2번은 const a = [...new Array(5)]; // [undefined, undefined, undefined, undefined, undefined] 여기다가 실제 유저 닉네임만 인덱스로 값 변경하면 되지 않을까 싶은데 어떤가용? 뭔가 필요하면 바로 불러주세요~

tastekim commented 1 year ago

https://github.com/tastekim/WeAllLie-BE/blob/0db075efaf73932e6f5ca6f9da5070130e170cf0/src/rooms/room-provider.js#L23 8이라는 고정값만큼 redis에서 받은 배열의 길이가 충족이 안되면 for 문으로 빈 문자열을 push 하도록 했습니다 !

ghost commented 1 year ago

아 레디스에 저장하는 거군용