Skip to content

koppe-pan/I3-backend

Repository files navigation

Iserver

To start your Phoenix server:

  • Install dependencies with mix deps.get
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

What I did on server side

  • UserSupervisorUser プロセスを作成する。User は以下のstructを持つ。
{ id: ""
, name: ""
, muted: true
, camera_on: false
, raising_hand: false
, volume: 100
, room: "lobby"
}
  • RoomSupervisorRoom プロセスを作成する。

WebSocket

  • はじめのハンドシェイク時には以下のjoin関数が呼ばれる。この際に上記の2プロセスを作成する。
def join("room:" <> room_id, %{user_id: user_id}, socket) do
  socket =
    socket
    |> get_or_create_user(user_id)
    |> get_or_create_room(room_id)

  {:ok, %{me: socket.assigns.me, room: socket.assigns.room}, socket}
end
  • WebSocketでのやりとりは以降send関数が呼ばれる。
    • endpointとしてip_address:4000/socketに以下が生やされている
      • /ice : ice 情報を全体にbroadcastする
      • /room : room の情報を返す
      • /close : 退室処理などを行う
      • /description : description 情報を全体にbroadcastする

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published