消息服務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務務
交付是最佳努力,不是保證。請務必設計您的體驗,以便交付失敗不是嚴重的。
跨服務器通訊 探索如何在更大的詳細度之間通訊。
如果您想要發布隨機消息到 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
此功能將提供的訊息傳送給所有訂閱者,並觸發其註冊的回撥機來執行。
在訊息被傳送到後端時,會發生。
參數
決定訊息的發送位置。
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() 以將提供的訊息傳送至所有訂閱者,觸發他們註冊的回撥機回撥機。
參數
返回
可用來取消訂閱主題的連接。
範例程式碼
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)