Close
    Search Search

    MessagingService

    A MessagingService classe é um serviço. Esse serviço pode ser usado para se comunicar entre servidores em um universo, assinando um tópico por meio do método SubscribeAsync. Todos os servidores inscritos em um tópico serão notificados quando o tópico enviar dados por meio do método PublishAsync.

    Conteúdo

    • 1 Limitações
    • 2 Exemplo de Código
    • Funções 3
      • 3.1 vazio PublishAsync(tópico de string, mensagem variante) [Yields]
      • 3.2 RBXScriptConnection SubscreverAsync(tópico de string, retorno de chamada de função) [Yields]
    • 4 links externos

    Limitações

    Embora este seja um serviço muito poderoso, ele foi criticado por suas limitações no início, havia uma crença de um máximo de 10,000 solicitações por universo, [1] declarado por Ozzypig, um desenvolvedor top, preocupado que isso fosse muito pouco. Desde então, foi mencionado por Seranok, um funcionário da Roblox, que se trata de Assinaturas por tópico por universo [2].




    Limitação Máxima
    Tamanho da mensagem 1kB
    Mensagens por servidor de jogo por minuto 150 + 60 * número de jogadores
    Assinaturas por servidor de jogo 5 + 2 * número de jogadores
    Assinaturas por tópico por universo de jogo 10,000

    Exemplo de Código

    Vamos criar um Script utilização MessagingService que faz o seguinte:



    Sempre que um jogador bate-papo, o código a seguir enviaria essa mensagem para todos os servidores, permitindo a comunicação entre servidores. Este código compararia o MessagingServicePropriedade JobId de DataModel para garantir que as mensagens não sejam enviadas duas vezes no mesmo servidor.


    local MessagingService = jogo: GetService ("MessagingService") local Players = jogo: GetService ("Players") Players.PlayerAdded: Connect (function (player) 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 - The JobId's match, don envie a mensagem novamente. return end - data.Player é o nome de usuário do jogador que enviou a mensagem. - data.Message é a mensagem enviada. end)

    Funções

    MessagingService anular PublishAsync(tópico de string, mensagem variante) [Yields]

    Envia dados para todos os retornos de chamada inscritos em um determinado tópico.


    MessagingService RBXScriptConnection SubscreverAsync(tópico de string, retorno de chamada de função) [Yields]

    Faz com que o retorno de chamada fornecido seja executado sempre que uma mensagem for recebida de PublishAsync com o tópico correspondente.

    Links externos

    1. ↑ https://devforum.roblox.com/t/messagingservice-beta-release/254462/12
    2. ↑ https://devforum.roblox.com/t/messagingservice-release/254462/70
    Adicione um comentário do MessagingService
    Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.