Skip to content

Routing & Protocol

Young-do Cho edited this page Dec 22, 2019 · 7 revisions

SPA Router 섀계

  • 둜그인 νŽ˜μ΄μ§€

    • URL: /
    • OAuth 성곡 μ‹œ, λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동
    • 게슀트 둜그인 성곡 μ‹œ, λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동
  • λ‘œλΉ„ νŽ˜μ΄μ§€

    • URL: /lobby
    • λŒ€κΈ° μƒνƒœμΈ λ°© 클릭 μ‹œ, ν•΄λ‹Ή λ°© νŽ˜μ΄μ§€λ‘œ 이동
    • λ°© λ§Œλ“€κΈ° μ™„λ£Œ μ‹œ, ν•΄λ‹Ή λ°© νŽ˜μ΄μ§€λ‘œ 이동
  • λ°© νŽ˜μ΄μ§€

    • URL: /room/:room_id
    • λ°© λ‚˜κ°€κΈ° λ²„νŠΌ 클릭 μ‹œ, λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동

ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ ν”„λ‘œν† μ½œ 섀계

1. OAuth 둜그인

2. 게슀트 둜그인

  • OAuth λ‘œκ·ΈμΈν•œ μ‚¬μš©μžκ°€ μ•„λ‹ˆλ©΄ κ·Έλƒ₯ λ‹€ 게슀트둜 μ²˜λ¦¬ν•˜κΈ°λ‘œ

Socket (on Client-side at Lobby)

Emit(= μ„œλ²„λ‘œ λ³΄λ‚΄λŠ” 것)

event name string note
enter_lobby - λ‘œλΉ„ 졜초 이동 μ‹œ 전달. 둜그인 된 μœ μ € μ—¬λΆ€ 확인 + λ°© λͺ©λ‘ 제곡 μš”μ²­
create_room { room name } λ°© μƒμ„±ν•˜κΈ° λ²„νŠΌ 클릭 μ‹œ
knock_room { room id } λ“€μ–΄κ°ˆ 수 μžˆλŠ” 방인지 확인

On(= μ„œλ²„μ—κ²Œ λ°›λŠ” 것)

event name callback note
enter_lobby 둜그인된 μ—¬λΆ€ 확인 + λͺ¨λ“  λ°© λͺ©λ‘ 화면에 좜λ ₯ μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
create_room μƒμ„±λœ 방으둜 μžλ™ μž…μž₯ μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
knock_room 방으둜 μž…μž₯ / λ“€μ–΄κ°ˆ 수 μ—†λ‹€κ³  alert ν‘œμ‹œ μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
room_is_created λ°© λͺ©λ‘μ— μ‹ κ·œ λ°© μΆ”κ°€
update_room_info νŠΉμ • 방의 μƒνƒœ 정보λ₯Ό λ³€κ²½

Socket (on Client-side at Room)

Emit(= μ„œλ²„λ‘œ λ³΄λ‚΄λŠ” 것)

event name string note
enter_room { room id } 졜초 λ°© μ ‘μ†μ‹œ
leave_room -
start_game - λ°©μž₯만 κ°€λŠ₯
move { direction }
use_skill { direction } μŠ€ν‚¬ μ‚¬μš©
chat_message { message }

On(= μ„œλ²„μ—κ²Œ λ°›λŠ” 것)

event name args callback note
enter_room μžμ‹ μ˜ 캐릭터 및 λ‹‰λ„€μž„, 캐릭터+λ‹‰λ„€μž„λ“€ μœ„μΉ˜, 문제?, 남은 μ‹œκ°„? 캐릭터 + λ‹‰λ„€μž„ (랜덀) ν• λ‹Ή, 문제 λ°‹ 남은 μ‹œκ°„ 곡개 μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
enter_new_user μΆ”κ°€ν•  캐릭터 ν•„λ“œ μœ„ 캐릭터 μΆ”κ°€
leave_user μ‚­μ œν•  캐릭터 ν•„λ“œ μœ„ 캐릭터 μ‚­μ œ
go_to_lobby λ‘œλΉ„λ‘œ 이동 μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜, κ²Œμž„ μ‹œμž‘ 쀑인 방에 듀어왔을 λ•Œ 전달됨
start_game μ „κ΄‘νŒ λ³€κ²½ μ „κ΄‘νŒ μƒνƒœ λ³€κ²½, μƒνƒœλ₯Ό κ²Œμž„ μ€‘μœΌλ‘œ λ³€κ²½
move 각 캐릭터 이동할 μ’Œν‘œ 리슀트 각 캐릭터듀 νŠΉμ • μ’Œν‘œλ‘œ 이동
chat_message μ±„νŒ… 둜그(λ‹‰λ„€μž„+λ©”μ‹œμ§€) μ±„νŒ… 기둝 μΆ”κ°€
start_round 문제, 각 캐릭터 μœ„μΉ˜, μΉ΄μš΄νŠΈν•  μ‹œκ°„ μ „κ΄‘νŒ 문제 좜λ ₯, 각 캐릭터 μœ„μΉ˜ μ΄ˆκΈ°ν™”, μ‹œκ°„ 카운트 μ‹œμž‘ μ œν•œ μ‹œκ°„ μΉ΄μš΄νŠΈλŠ” ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ ν•œλ‹€
end_round μ •λ‹΅, μ˜€λ‹΅ ν”Œλ ˆμ΄μ–΄ 리슀트 μ •λ‹΅ ν‘œμ‹œ, μ˜€λ‹΅ ν”Œλ ˆμ΄μ–΄ 캐릭터 μ‚­μ œ(?)
end_game 우승자 λ‹‰λ„€μž„ 우승자 ν‘œμ‹œ
reset_game κ²Œμž„ μ’…λ£Œ ν›„ λ°© μƒνƒœλ₯Ό λŒ€κΈ° μ€‘μœΌλ‘œ λ³€κ²½
update_player_num μ‚΄μ•„μžˆλŠ”/죽은 μœ μ € 수 ν˜„μž¬ κ²Œμž„μ—μ„œ μ‚΄μ•„μžˆλŠ”/죽은 μœ μ € 수 λ³€κ²½
Clone this wiki locally