여러 사람이 같은 공간에 동시에 보이는 원리
왜 따로 필요할까
보통 웹페이지는 편지처럼 오가요. 브라우저가 "이 페이지 보여 줘" 하고 물으면 서버가 답하고, 대화는 거기서 끝나요. 그래서 누가 방금 문을 열고 들어와도 내가 새로고침하기 전에는 알 수 없어요.
실시간 연결은 전화를 걸어 놓고 끊지 않는 쪽에 가까워요. 선이 열려 있으니 서버가 먼저 말을 걸 수 있어요. "방금 B가 왼쪽으로 세 걸음 갔어" 같은 소식을 1초에도 여러 번 보내요.
공간에서는 이렇게 느껴져요
- 다른 사람의 캐릭터가 멈추지 않고 걸어 다녀요.
- 말풍선이나 채팅이 새로고침 없이 바로 떠요.
- 누가 켠 촛불, 매단 연등이 내 화면에도 곧장 생겨요.
- '지금 함께 있는 사람' 수가 바뀌어요.
방식은 여러 가지예요
- WebSocket: 브라우저와 서버가 직접 선을 열어 두는 기본 방식이에요.
- Cloudflare Workers: 서버 대신 Cloudflare 위에서 방(같이 있는 사람들의 자리)을 열고 WebSocket을 받아요.
- Supabase Realtime·Firebase: 데이터베이스가 바뀌거나 메시지가 오면 구독한 화면에 바로 알려 줘요.
- Socket.IO: WebSocket을 쉽게 쓰게 해 주고, 연결이 끊기면 다시 이어 주는 도구예요.
알아 두면 좋은 것
선을 열어 두는 동안 서버도 계속 깨어 있어야 해요. 무료 서버는 한동안 아무도 없으면 잠들기도 해서, 그날 처음 들어간 사람은 잠깐 기다릴 수 있어요. 오래 아무도 오지 않으면 공간이 아예 닫히기도 해요(Glyph의 잠든 공간).
Glyph에 실린 594곳에서는
331곳 실시간 연결이 보인 곳 · 56%
2026년 11월 7일 기준. 각 공간 페이지를 열어 드러난 것을 자동으로 셌어요. 한 곳에 여러 방식이 함께 잡히기도 하고, 실제와 다를 수 있어요. 만든 재료 전체 집계 →