codestates / codestates/triplus

[Error] io.to(roomName).emit('eventName', ~~~) 가 안 됐던 이유

Open
#218 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
0
Forks
4
PR merge metrics
No merged PRs in 30d

Description

## 어떤 에러가 발생했나요?
- io.to(roomName).emit('eventName', ~~) 을 했는데 정상작동하지 않았다
- 에러 메시지가 발생한 것도 아니고, 그냥 room 속한 소켓 아이디들에게 해당 이벤트가 전달되지 못했다

### 에러가 발생한 폴더
- server > index.js

### 에러 원인
- 몰랐는데 roomName 은 String 이여야만 한가 보다. 정확히는 찾아보지 못했으나 일단, Number 타입 만으로도 룸이 형성된 것은 콘솔로 io.sockets.adapter.rooms 를 조회해봐서 확인했다.
- 우리는 roomId 를 Number 값으로 만들었다. 그리고 그걸 바로 roomName 으로 넣으니 안 됐던 것이었다.
- 사실 이 해결 방법은 결과론적이긴 하다. roomName 이 반드시 string 이어야 한다는 조항은 발견하지 못했는데, 어쨌든 Number 타입이었던 roomName 을 string 으로 바꿔주니 해결됐다.

### 에러 해결 방법
![image](https://user-images.githubusercontent.com/81739782/145275003-53f62724-234b-47a9-8434-4f27b001f9c5.png)

요거를

![image](https://user-images.githubusercontent.com/81739782/145275030-6bb7effb-91c6-475c-b090-1049a23bb9f3.png)

요롷게

## 에러 해결 관련 링크
- 본인 블로그 링크
https://je-developing.tistory.com/171

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.