MessagingService

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable
Servicio
No 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

Resumen

Métodos

Propiedades

Métodos

PublishAsync

void
Proporciona

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.


Devuelve

void

SubscribeAsync

Proporciona

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.


Devuelve

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

Muestras 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