MessagingService

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza
Non Replicato

MessagingService consente ai server della stessa esperienza di comunicare tra loro in tempo reale (meno di 1 secondo) utilizzando argomenti. Gli argomenti sono stringhe sviluppate dal server (1-80 caratteri) che i server utilizzano per inviare e ricevere messaggi.

La consegna è il miglior sforzo e non è garantita. Assicurati di architettare la tua esperienza in modo che i falliti della consegna non siano critici.

Cross-Server Messaging esplora come comunicare tra i server in modo più dettagliato.

Se vuoi pubblicare messaggi ad hoc per i server di gioco in tempo reale, puoi usare le API aperte del cloud.

Limitazioni

Nota che questi limiti sono soggetti a cambiamento.


<tbody>
<tr>
<td>
<b>Dimensione del messaggio</b>
</td>
<td>
1kB
</td>
</tr>
<tr>
<td>
<b>Messaggi inviati per il server di gioco</b>
</td>
<td>
600 + 240 \* (number of players in this game server) per minuto
</td>
</tr>
<tr>
<td>
<b>Messaggi ricevuti per argomento</b>
</td>
<td>
(40 + 80 \* numero di server) per minuto
</td>
</tr>
<tr>
<td>
<b>Messaggi ricevuti per l'intero gioco</b>
</td>
<td>
(400 + 200 \* numero di server) per minuto
</td>
</tr>
<tr>
<td>
<b>Istruzioni per l'iscrizione per game server</b>
</td>
<td>
20 + 8 \* (number of players in this game server)
</td>
</tr>
<tr>
<td>
<b>Iscriviti alle richieste per il server di gioco</b>
</td>
<td>
240 richieste al minuto
</td>
</tr>
</tbody>
LimiteMassimo

Proprietà

Metodi

PublishAsync

void
Resa

Questa funzione invia il messaggio fornito a tutti gli iscritti al tema, attivando le loro richiami registrati per essere invocati.

Ritira fino a quando il messaggio non viene ricevuto dal backend.

Parametri

topic: string

Determina dove viene inviato il messaggio.

message: Variant

I dati da includere nel Messaggio.


Restituzioni

void

SubscribeAsync

Resa

Questa funzione registra un callback per iniziare a ascoltare l'argomento fornito. Il callback viene chiamato quando un argomento riceve un Messaggio. Può essere chiamato più volte per lo stesso argomento.

Ritorno

Il callback viene invocato con un solo argomento, una tabella con le seguenti entradne:


<tbody>
<tr>
<td>
<b>Dati</b>
</td>
<td>
Pagamento fornito dal sviluppatore
</td>
</tr>
<tr>
<td>
<b>Inviato</b>
</td>
<td>
Tempo di UNIX in secondi al quale il messaggio è stato inviato
</td>
</tr>
</tbody>
CampoPanoramica

Genera fino a quando la sottoscrizione non è correttamente registrata e restituisce un oggetto di connessione.

Per disiscrivere, chiama Disconnect() sull'oggetto restituito. Una volta chiamato, il callback non dovrebbe mai essere invocato. Uccidere lo script che contiene le connessioni causa anche l'iscrizione alla connessione sottostante.

Vedi anche MessagingService:PublishAsync() che invia il messaggio fornito a tutti gli iscritti al argomento, attivando le loro richiami registrati per essere eseguiti.

Parametri

topic: string

Determina dove ascoltare i messaggi.

callback: function

Funzione da invocare ogni volta che viene riceunto un messaggio.


Restituzioni

Connessione che può essere utilizzata per disiscriversi dal topic.

Campioni di codice

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)

Eventi