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

void
イールド

この関数は、トピックのすべてのサブスクリバーにメッセージを送信し、登録されたコールバックを呼び出します。

バックエンドにメッセージが受信されるまで。

パラメータ

topic: string

メッセージが送信される場所を決定します。

message: Variant

メッセージに含めるデータ。


戻り値

void

SubscribeAsync

イールド

この関数は、指定されたトピックをリスニングするコールバックを登録します。コールバックは、トピックがメッセージを受信するときに呼び出されます。同じトピックについて複数回呼び出されることができます。

コールバック

コールバックは、単一の引数で呼び出され、次のエントリを含むテーブルで呼び出されます:


<tbody>
<tr>
<td>
<b>データ</b>
</td>
<td>
開発者が提供する貨物
</td>
</tr>
<tr>
<td>
<b>送信済み</b>
</td>
<td>
メッセージが送信された秒です
</td>
</tr>
</tbody>
フィールド概要

サブスクリプションが適切に登録されるまで、また接続オブジェクトを返します。

解除するには、Disconnect() を呼び出します。呼び出したオブジェクトの Datatype.RBXScriptConnection を呼び出します。コールバックは呼び出しされたスクリプトには呼び出されないです。スクリプトをキルすると、基本的な接続を解除する必要があります。

また、MessagingService:PublishAsync() を参照して、トピックのすべてのサブスクリバーにメッセージを送信し、登録されたコールバックを呼び出します。

パラメータ

topic: string

メッセージを受信する場所を決定します。

callback: function

メッセージが受信されるたびに実行する関数。


戻り値

トピックから購読を解除できるコネクション。

コードサンプル

Subscribing to Cross Server Messages

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)

イベント