Skip to main content
開発者向けドキュメントを表示しています
このドキュメントは、Base44 開発者プラットフォームで作業する開発者向けです。
アクター を作成すると、複数の クライアント が共有するライブ セッション のバックエンドロジックを実行できます。たとえば、チャットルームやマルチプレイヤーゲームです。アクターは、クライアントの接続、メッセージ、切断をバックエンドで処理します。

アクターファイル

アクターは、プロジェクトの actors ディレクトリに TypeScript ファイルとして作成します。各アクターは base44/actors/ 配下の専用サブディレクトリに配置され、entry.ts ファイルを持ちます。
base44
actors
chatRoom
entry.ts
フォルダー名は SDK でのアクター名になり、クライアントがアクターを呼び出す方法を決めます。例: base44.actors.chatRoom。entry.ts ファイルから、アクタークラスをデフォルトエクスポートとしてエクスポートします。 アクターディレクトリには、追加の .ts、.js、.json、.jsonc ファイルを含め、entry.ts からインポートできます。

entry.ts

このコードファイルにはアクタークラスが含まれます。base44:runtime/actors から Actor をインポートし、Actor を継承したクラスをデフォルトエクスポートとしてエクスポートします。Incoming と Outgoing のジェネリクスを渡して、アクターが受信、送信するメッセージに型を付けます。 次のクラスメソッドを実装します。handleStart() メソッドは省略可能です。
  • handleStart(): 保存されたセッションデータをストレージからクラスフィールドに読み込みます。Base44 はセッションがアクティブになるたびにこのハンドラーを呼び出します。そのため、Base44 が接続を処理する前に、復元した状態の準備が整います。ストレージの完全な例については、セッションデータを永続化する を参照してください。
  • handleConnect(): 接続してきたクライアントに現在のセッション状態を送信します。接続の拒否やクライアントの識別については、クライアント接続を管理する を参照してください。
  • handleMessage(): セッション状態を更新して永続化し、変更をブロードキャストします。
  • handleClose(): その接続に紐づく状態を削除します。クリアする接続状態がない場合は、空の本体を記述します。
  • handleTick(): tick の間隔ごとにコードを実行します。アクターが tick を使わない場合は、空の本体を記述します。tick の設定については、tick を実行する を参照してください。1 回限りの wake をスケジュールするには、wake をスケジュールする を参照してください。
次の例は、簡略化した ChatRoom アクターです。

関連項目

このページは AI によって翻訳されました。最も正確で最新の情報については、英語版 を参照してください。