Skip to content

Olinvasプロトコル(ver.1)

K. T edited this page Mar 22, 2020 · 2 revisions

Olinvasプロトコル(ver.1)について

Olinvasプロトコルは,Json文字列ベースのテキストプロトコルです.
WebSocketのメッセージ部にセットする形で通信を行います.

Client->Server

CreateRoom要求(対象: 全ユーザ)

  • CreateRoom

    • roomName : string
    • roomPassword : string
  • CreateRoom-Accept

    • roomId : string
    • roomName : string
    • roomFriendKey : string
  • CreateRoom-Reject

 ルーム作成要求を行うパケットです.roomNameおよびroomPasswordには,それぞれ任意のルーム名およびパスワードがクライアントにより設定されます.
サーバはこのパケットを受信した場合,CreateRoom-AcceptもしくはCreateRoom-Rejectを返送するか,無視します.

JoinRoom要求(対象: 全ユーザ)

  • JoinRoom

    • roomId : string
    • roomPassword : string
  • JoinRoom-Accept

    • roomName : string
  • JoinRoom-Reject

 ルーム参加要求を行うパケットです.roomIdおよびroomPasswordには,それぞれ参加するルームのIDおよびパスワードがクライアントにより設定されます.
サーバはこのパケットを受信した場合,JoinRoom-AcceptもしくはJoinRoom-Rejectを返送するか,無視します.

FriendAuth要求(対象: ホストを除く全ユーザ)

  • FriendAuth

    • friendKey : string
  • FriendAuth-Accept

  • FriendAuth-Reject

 フレンド認証を行うパケットです.friendKeyには,対象となるルームのフレンドキーがクライアントにより設定されます.
サーバはこのパケットを受信した場合,FriendAuth-AcceptもしくはFriendAuth-Rejectを返送するか,無視します.

DrawLine要求(対象: フレンド権限を持った全ユーザ)

  • DrawLine

    • prevX : integer
    • prevY : integer
    • nextX : integer
    • nextY : integer
    • color : integer
    • width : integer
  • DrawLine-Echo

    • (パラメータは上記と同じ)

 直線の描画命令を行うパケットです.それぞれのパラメータには描画に必要となる情報がクライアントにより設定されます.
サーバはこのパケットを受信した場合,DrawLine-Echoをルーム内のメンバ全員へ送信するか,無視します.

ClearBoard要求(対象: ホストのみ)

  • ClearBoard

  • ClearBoard-Echo

 キャンバスの初期化命令を行うパケットです.パラメータはありません.
サーバはこのパケットを受信した場合,ClearBoard-Echoをルーム内のメンバ全員へ送信するか,無視します.

Server->Client

CheckPoint要求

  • CheckPoint

  • CheckPoint-Echo

    • canvasInfo : string(image/png, Base64)

 現在のキャンバスの情報をホストに要求するパケットです.パラメータはありません.ルーム内のDrawLineパケットの変遷を記載しているHistoryの数が,コンフィグによって指定された上限を超えた場合,ホストクライアントに対して通知されます.ホストがこのパケットを受信した場合,CheckPoint-Echoを送信します.

TooConnection通知

  • TooConnection-Echo

 サーバ・クライアント間のWebSocketのセッション数が,コンフィグによって指定されている上限を超えた場合,クライアントに対して通知されます.この通知後,セッションは切断されます.

ConnectionBan通知

  • ConnectionBan-Echo
    • pardonTime : integer

 AUTO_IP_BAN機能などによって接続が規制された場合,その対象クライアントに通知されます.pardonTimeには接続規制解除までの残り秒がサーバによって設定されます.この通知後,クライアントとのセッションは全て切断されます.