Close
    Search Search

    Servicio de mensajería

    El Servicio de mensajería la clase es un servicio. Este servicio se puede utilizar para comunicarse entre servidores en un universo, suscribiéndose a un tema a través del método SubscribeAsync. Todos los servidores suscritos a un tema recibirán una notificación cuando el tema envíe datos a través del método PublishAsync.

    Contenido

    • Limitaciones 1
    • 2 Ejemplo de código
    • 3 Funciones
      • 3.1 nulo PublishAsync(tema de cadena, mensaje de variante) [Rendimientos]
      • 3.2 Conexión RBXScript SubscribeAsync(tema de cadena, devolución de llamada de función) [Rendimientos]
    • Enlaces 4 externos

    Limitaciones

    Aunque este es un servicio muy poderoso, ha sido criticado por sus limitaciones al principio, existía la creencia de un máximo de 10,000 solicitudes por universo, [1] declarado por Ozzypig, un desarrollador de primer nivel, preocupado que esto fuera muy poco. Desde entonces, Seranok, un empleado de Roblox, ha mencionado que se trata de suscripciones. por tema por universo [2].




    Limitación Máximo
    Tamaño del mensaje 1kB
    Mensajes por servidor de juego por minuto 150 + 60 * número de jugadores
    Suscripciones por servidor de juego 5 + 2 * número de jugadores
    Suscripciones por tema por universo de juego 10,000

    Ejemplo de código

    Vamos a crear un Guión usar Servicio de mensajería que hace lo siguiente:



    Siempre que un jugador chatea, el siguiente código enviaría ese mensaje a todos los servidores, permitiendo la comunicación entre servidores. Este código compararía el Servicio de mensajeríaLa propiedad JobId de DataModel para garantizar que los mensajes no se envíen dos veces en el mismo servidor.


    local MessagingService = juego: GetService ("MessagingService") local Players = juego: GetService ("Jugadores") Players.PlayerAdded: Connect (función (jugador) player.Chatted: Connect (function (msg) MessagingService: PublishAsync ("ChatMessage", {Player = player.Name, Message = msg, JobId = game.JobId}) end end) MessagingService: SubscribeAsync ("ChatMessage", function (data) if data.JobId == game.JobId then - La coincidencia de JobId, don 't enviar el mensaje de nuevo. return end - data.Player es el nombre de usuario del jugador que envió el mensaje. - data.Message es el mensaje enviado. end)

    Las funciones clave

    Servicio de mensajería vacío PublishAsync(tema de cadena, mensaje de variante) [Rendimientos]

    Envía datos a todas las devoluciones de llamada que están suscritas al tema dado.


    Servicio de mensajería Conexión RBXScript SubscribeAsync(tema de cadena, devolución de llamada de función) [Rendimientos]

    Hace que la devolución de llamada dada se ejecute siempre que se reciba un mensaje de PublishAsync con el tema coincidente.

    Enlaces externos

    • MessagingService en Roblox Developer Hub
    • MessagingService en la referencia de la API de Roblox
    1. ↑ https://devforum.roblox.com/t/messagingservice-beta-release/254462/12
    2. ↑ https://devforum.roblox.com/t/messagingservice-release/254462/70
    Añade un comentario de Servicio de mensajería
    ¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.

    End of content

    No more pages to load