session_simple
session_simple サンプル
概要
4 人のユーザーが Session モジュールを使用してメッセージのやり取りを行います。 Session モジュールの特徴についてはこちらのページを参照してください。
ローカル環境でサーバーを起動する
サンプルで使用するサーバーを起動するためのチュートリアルを実施して、ローカル環境で Diarkis サーバーを起動します。
サンプルの引数
サンプルの起動時には以下の3つのパラメータを指定してください。
session_simple.exe serverAddr UID clientKey
serverAddr
Diarkis サーバのエンドポイントを指定してください
UID
接続するユーザーの ID を任意の文字列で指定してください
clientKey
クライアントキーを任意の文字列で指定してください
起動例:
session_simple.exe 192.168.1.123:7000 1111 AAAA
起動方法
本サンプルは 4 クライアントが既定の UID で接続する前提の実装となっています。起動時は "1111", "2222", "3333", "4444" の UID でサンプルを起動してください。 起動後、"1111" は他のユーザーを招待して Session に参加する形でサンプルが動作しますので "1111" 以外のユーザーを起動後、最後に "1111" を起動してください。
サンプルコード説明
Session を使用する全体的な流れ
Diarkis ランタイムおよび Diarkis Module を初期化し、Diarkis サーバーへ接続します。 詳細については Diarkis モジュール利用の全体的な流れ を参照してください。
セットアップ Session モジュールを初期化します。
Session の作成
DiarkisSessionBase::SendCreateを使用して Session の作成をサーバへリクエストします。DiarkisSessionBase::HasSessionを使用して、特定の Session が作成済みかをチェックすることができます。Session への招待
DiarkisSessionBase::SendInviteを使用して他のユーザーを Session へ招待します。招待するにはユーザーの UID を知っている必要があるため Session 以外の方法で UID を事前に共有する必要があります。本サンプルではすでに共有済みの状態を想定して実装されています。Session への参加 他のユーザーから招待を受けると
DiarkisSessionBase::OnSessionInviteが発火します。DiarkisSessionBase::OnSessionInviteでは引数のDiarkisSessionInviteEventArgsで Session ID と SendInvite に渡されたメッセージを取得することができます。 本サンプルではDiarkisSessionInviteEventArgsで取得した Session ID を使用してDiarkisSessionBase::SendJoinを実行することで Session に参加しています。 また、Session モジュールでは複数の Session に参加することが可能です。 本サンプルでも全体 Session とチーム Session に見立てて複数の Session に参加しています。メッセージの送信 Session に参加後、
DiarkisSessionBase::SendBroadcast等メッセージ送信系の API を使用して Session に参加しているメンバーにメッセージを送ることができます。メッセージの受信 他のユーザーからメッセージを受信すると
DiarkisSessionBase::OnSessionBroadcastやDiarkisSessionBase::OnSessionMessageToが発火します。ユーザーはDiarkisSessionBaseのこれらのメソッドをオーバーライドすることで受信したデータに対してアプリ固有の処理を実装することができます。ユーザーのキック
DiarkisSessionBase::SendKickを使用することで特定のユーザーを Session から強制的に追い出すことができます。切断処理
DiarkisSessionBase::SendLeaveを使用することで Session から退出することができます。終了処理 詳細については Diarkis モジュール利用の全体的な流れ を参照してください。
最終更新
役に立ちましたか?

