For the complete documentation index, see llms.txt. This page is also available as Markdown.

room_chat

room_chat サンプル

概要

room_chat サンプルは、Diarkis サーバーの Room Chat 機能を使用したインタラクティブな CLI サンプル・プログラムです。ユーザーは Room に参加し、リアルタイムでカスタムチャットメッセージの送受信や、サーバーへの同期コマンドでチャット履歴の取得を行うことができます。

room_chat サンプルでは以下の機能を確認することができます。

  • Room の参加

  • Room メンバーへのカスタムチャットメッセージ送信

  • チャット履歴の取得(同期コマンド)

  • Room からの退室

ローカル環境でサーバーを起動する

サンプルで使用するサーバーを起動するためのチュートリアルを実施して、ローカル環境で Diarkis サーバーを起動します。

サンプルの引数

サンプルの起動時には以下の3つのパラメータを指定してください。

引数
説明

serverAddr

Diarkis サーバのエンドポイントを指定してください

UID

接続するユーザーの ID を任意の文字列で指定してください

clientKey

クライアントキーを任意の文字列で指定してください

起動例:

room_chat サンプル解説

Diarkis ランタイムおよび Diarkis Module を初期化し、Diarkis サーバーへ接続します。詳細については Diarkis モジュール利用の全体的な流れ を参照してください。

Room モジュールをセットアップします。

RandomJoin で Room に入室します。DiarkisRoomBase::RandomJoinRoom() は参加可能な Room が存在すればその Room に参加し、存在しなければ新たに Room を作成します。サーバーへリクエストを送信後、DiarkisRoomBase::IsJoin() で Room 入室完了を待機します。

Room 入室後、サンプルはインタラクティブなコマンドループに入ります。標準入力から以下のコマンドで操作できます。

  • /send/<メッセージ> — Room にチャットメッセージを送信する

  • /sync — サーバーから全チャット履歴を取得する。OnRoomChatLog コールバックで結果が表示される

  • /quit — Room を退室してプログラムを終了する

  • /help — 使用可能なコマンドを表示する

DiarkisRoomBase::SendLeaveRoom() で Room からの退室をリクエストします。DiarkisRoomBase::IsLeave() で退室完了を待機します。

終了処理

Diarkis モジュール利用の全体的な流れ を参照してください。

注意点

  • Windows 環境では、コンソールを UTF-8 エンコーディングに設定して日本語などマルチバイト文字のチャットメッセージを正しく処理します。

  • 複数のクライアントを別々のターミナルウィンドウから同時に起動して、Room Chat の動作を確認できます。

  • /sync コマンドはサーバーからチャット履歴を取得します。結果は OnRoomChatLog コールバックで表示されます。

最終更新

役に立ちましたか?