MessagingService
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
MessagingService ermöglicht es Server desselben Erlebnisses, miteinander in Echtzeit (weniger als 1 Sekunde) mit Themen zu kommunizieren. Themen sind entwicklerdefinierte Zeichen (1–80 Zeichen), die Server verwenden, um Nachrichten zu senden und zu empfangen.
Die Lieferung ist der beste Anstrengung und nicht garantiert. Stellen Sie sicher, dass Sie Ihr Erlebnis so architektur, dass Lieferungsausfälle nicht kritisch sind.
Cross-Server-Messaging erkundet, wie man sich zwischen Servern in mehr Details kommunizieren kann.
Wenn Sie an Werbemails interessiert sind, um Live-Spielserver zu veröffentlichen, können Sie die Open Cloud-APIs verwenden.
Beschränkungen
Beachten Sie, dass diese Limits geändert werden können.
<tbody><tr><td><b>Größe der Nachricht</b></td><td>1kB</td></tr><tr><td><b>Nachrichten pro Spielserver gesendet</b></td><td>600 + 240 \* (anzahl der spieler in diesem server) pro minute</td></tr><tr><td><b>Nachrichten pro Thema erhalten</b></td><td>(40 + 80 \* anzahl der server) pro minute</td></tr><tr><td><b>Nachrichten für das gesamte Spiel erhalten</b></td><td>(400 + 200 \* anzahl der server) pro minute</td></tr><tr><td><b>Abonnements pro Spielserver erlaubt</b></td><td>20 + 8 \* (anzahl der spieler auf diesem server)</td></tr><tr><td><b>Abonnement-Anfragen pro Spielserver</b></td><td>240 anfragen pro minute</td></tr></tbody>
Limitieren | Maximum |
---|
Zusammenfassung
Methoden
Ruft den angegebenen Rückruf ein, wenn eine Nachricht an das Thema geschickt wird.
Beginnt, das gegebene Thema zu hören.
Eigenschaften
Methoden
PublishAsync
Diese Funktion sendet die angegebene Nachricht an alle Abonnenten des Themas und triggert, dass ihre registrierten Rückrufe aufgerufen werden.
Erzeugt, bis die Nachricht vom Backend erhalten wird.
Parameter
Bestimmt, wo die Nachricht gesendet wird.
Die Daten, die in der Nachricht enthalten sein sollen.
Rückgaben
SubscribeAsync
Diese Funktion registriert einen Rückruf, um auf das angegebene Thema zu hören. Der Rückruf wird aufgerufen, wenn ein Thema eine Nachricht erhält. Es kann mehrere Mal für dieselbe Thema aufgerufen werden.
Rückruf
Der Rückruf wird mit einem einzigen Argument aufgerufen, eine Tabelle mit den folgenden Einträgen:
<tbody><tr><td><b>Daten</b></td><td>Entwickler bereitgestellte Ladung</td></tr><tr><td><b>gesendet</b></td><td>Unix-Zeit in Sekunden, zu der die Nachricht gesendet wurde</td></tr></tbody>
Feld | Zusammenfassung |
---|
Es gibt zurück, bis das Abonnement richtig registriert ist und ein Objektzurückgibt.
Um abzumelden, rufen Sie Disconnect() auf das zurückgegebene Objekt. Nach dem Aufrufen sollte der Rückruf niemals ausgeführt werden. Wenn Sie das Skript, das die Verbindungen enthält, auch löschen, verursacht dies auch den Rückruf.
Siehe auch MessagingService:PublishAsync(), der die angegebene Nachricht an alle Abonnenten des Themas sendet, um ihre registrierten Rückrufe auszulösen.
Parameter
Bestimmt, wo auf Nachrichten zu hören.
Funktion, die aufgerufen wird, wenn eine Nachricht erhalten wird.
Rückgaben
Verbindung, mit der Sie sich vom Thema abmelden können.
Code-Beispiele
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)