MessagingService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
MessagingService は、同じエクスペリエンスのサーバーがトピックを使用してリアルタイムでコミュニケートすることができます (1秒未満) 。トピックは、サーバーがメッセージを送信および受信するために使用するディファーバーデータ構造 (1-80文字) です。
配信は最善の努力であり、保証されていません。配信の失敗をクリティカルにするためにエクスペリエンスをアーキテクトしてください。
クロスサーバーメッセージング は、サーバー間の通信をより詳細に探索します。
ライブゲームサーバーにアドホックメッセージを公開する必要がある場合は、Open Cloud APIs を使用できます。
制限
これらの制限は変更される可能性があります。
<tbody><tr><td><b>メッセージのサイズ</b></td><td>1KB</td></tr><tr><td><b>ゲームサーバーによって送信されたメッセージ</b></td><td>600 + 240 \* (このゲームサーバーのプレイヤー数) 毎分</td></tr><tr><td><b>トピックごとに受信されたメッセージ</b></td><td>(40 + 80 \* サーバー数) 毎分</td></tr><tr><td><b>ゲーム全体のメッセージ受信</b></td><td>(400 + 200 \* サーバー数) 毎分</td></tr><tr><td><b>ゲームサーバーごとにサブスクリプションを許可します</b></td><td>20 + 8 \* (このゲームサーバーのプレイヤー数)</td></tr><tr><td><b>ゲームサーバーごとのサブスクリプトリクエスト</b></td><td>1分あたり 240 リクエスト</td></tr></tbody>
制限 | 最大 |
---|
概要
方法
トピックにメッセージが送信されるたびに指定されたコールバックを呼び出します。
指定されたトピックを聞き始めます。
プロパティ
方法
PublishAsync
この関数は、トピックのすべてのサブスクリバーにメッセージを送信し、登録されたコールバックを呼び出します。
バックエンドにメッセージが受信されるまで。
パラメータ
メッセージが送信される場所を決定します。
メッセージに含めるデータ。
戻り値
SubscribeAsync
この関数は、指定されたトピックをリスニングするコールバックを登録します。コールバックは、トピックがメッセージを受信するときに呼び出されます。同じトピックについて複数回呼び出されることができます。
コールバック
コールバックは、単一の引数で呼び出され、次のエントリを含むテーブルで呼び出されます:
<tbody><tr><td><b>データ</b></td><td>開発者が提供する貨物</td></tr><tr><td><b>送信済み</b></td><td>メッセージが送信された秒です</td></tr></tbody>
フィールド | 概要 |
---|
サブスクリプションが適切に登録されるまで、また接続オブジェクトを返します。
解除するには、Disconnect() を呼び出します。呼び出したオブジェクトの Datatype.RBXScriptConnection を呼び出します。コールバックは呼び出しされたスクリプトには呼び出されないです。スクリプトをキルすると、基本的な接続を解除する必要があります。
また、MessagingService:PublishAsync() を参照して、トピックのすべてのサブスクリバーにメッセージを送信し、登録されたコールバックを呼び出します。
パラメータ
戻り値
トピックから購読を解除できるコネクション。
コードサンプル
local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
--subscribe to the topic
local topic = "player-" .. player.UserId
local connection = MessagingService:SubscribeAsync(topic, function(message)
print("Received message for", player.Name, message.Data)
end)
player.AncestryChanged:Connect(function()
-- unsubscribe from the topic
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)