MessagingService

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Serviço
Não replicado

MessagingService permite que los servidores de la misma experiencia se comuniquen entre sí en tiempo real (menos de 1 segundo) usando temas. Los temas son cadenas de caracteres de desarrollador (1–80 caracteres) que los servidores usan para enviar y recibir mensajes.

La entrega es el mejor esfuerzo y no está garantizada. Asegúrese de arquitectar su experiencia para que los fallos de entrega no sean críticos.

Mensajería entre servidoresCross-Server Messaging explora cómo comunicarse entre servidores en mayor detalle.

Si desea publicar mensajes ad hoc para los servidores de juegos en vivo, puede usar las API de Open Cloud.

Limitaciones

Tenga en cuenta que estos límites están sujetos a cambios.


<tbody>
<tr>
<td>
<b>Tamaño del mensaje</b>
</td>
<td>
1kB
</td>
</tr>
<tr>
<td>
<b>Mensajes enviados por servidor de juego</b>
</td>
<td>
600 + 240 \* (número de jugadores en este servidor del juego) por minuto
</td>
</tr>
<tr>
<td>
<b>Mensajes recibidos por tema</b>
</td>
<td>
(40 + 80 \* número de servidores) por minuto
</td>
</tr>
<tr>
<td>
<b>Mensajes recibidos para todo el juego</b>
</td>
<td>
(400 + 200 \* número de servidores) por minuto
</td>
</tr>
<tr>
<td>
<b>Suscripciones permitidas por servidor de juego</b>
</td>
<td>
20 + 8 \* (número de jugadores en este servidor de juegos)
</td>
</tr>
<tr>
<td>
<b>Suscríbete a solicitudes por servidor de juego</b>
</td>
<td>
240 solicitudes por minuto
</td>
</tr>
</tbody>
LímiteMáximo

Resumo

Métodos

Propriedades

Métodos

PublishAsync

void
Rendimentos

Esta función envía el mensaje proporcionado a todos los suscriptores al tema, haciendo que se ejecuten sus llamadas registradas.

Sobresale hasta que se reciba el mensaje por el backend.

Parâmetros

topic: string

Determina dónde se envía el mensaje.

message: Variant

Los datos para incluir en el mensaje.


Devolução

void

SubscribeAsync

Rendimentos

Esta función registra un llamado para comenzar a escuchar el tema dado. El llamado se invoca cuando un tema recibe un mensaje. Se puede llamar varias veces para el mismo tema.

Devolución

El llamador se invoca con un solo argumento, una tabla con las siguientes entradas:


<tbody>
<tr>
<td>
<b>Datos</b>
</td>
<td>
Carga del desarrollador proporcionada
</td>
</tr>
<tr>
<td>
<b>Enviado</b>
</td>
<td>
Tiempo de Unix en segundos en el que se envió el mensaje
</td>
</tr>
</tbody>
CampoResumen

Solo se muestra hasta que se registre correctamente la suscripción y se devuelva un objeto de conexión.

Para darse de baja, llame a Disconnect() en el objeto devuelto. Una vez llamado, el llamado de vuelta nunca debe ser invocado. Matar el script que contiene las conexiones también hace que la conexión subyacente sea desuscribirse.

También véase MessagingService:PublishAsync() que envía el mensaje proporcionado a todos los suscriptores del tema, para que se ejecuten sus llamadas registradas.

Parâmetros

topic: string

Determina dónde escuchar los mensajes.

callback: function

Función para ser invocada cada vez que se reciba un mensaje.


Devolução

Conexión que se puede usar para darse de baja del tema.

Amostras de código

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)

Eventos