MessagingService

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
服務
未複製

消息服務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務

交付是最佳努力,不是保證。請務必設計您的體驗,以便交付失敗不是嚴重的。

跨服務器通訊 探索如何在更大的詳細度之間通訊。

如果您想要發布隨機消息到 live game 服務器,您可以使用 開啟雲端 API

限制

注意這些限制可能會改變。


<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>
每分鐘 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()。一旦呼叫,呼叫回來永遠不會被執行。擊殺包含連接的對象也會導致基礎連接被取消。

也參閱 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)

活動