MessagingService

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst
Nicht repliziert

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>
LimitierenMaximum

Zusammenfassung

Methoden

Eigenschaften

Methoden

PublishAsync

void
Angehalten

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

topic: string

Bestimmt, wo die Nachricht gesendet wird.

message: Variant

Die Daten, die in der Nachricht enthalten sein sollen.


Rückgaben

void

SubscribeAsync

Angehalten

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>
FeldZusammenfassung

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

topic: string

Bestimmt, wo auf Nachrichten zu hören.

callback: function

Funktion, die aufgerufen wird, wenn eine Nachricht erhalten wird.


Rückgaben

Verbindung, mit der Sie sich vom Thema abmelden können.

Code-Beispiele

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)

Ereignisse