Close
    Search Search

    Service de messagerie

    L'équipe de Service de messagerie la classe est un service. Ce service peut être utilisé pour communiquer entre serveurs dans un univers, en s'abonnant à une rubrique via la méthode SubscribeAsync. Tous les serveurs abonnés à un sujet seront notifiés lorsque le sujet envoie des données via la méthode PublishAsync.

    Contenu

    • Limitations 1
    • 2 Exemple de code
    • Fonctions 3
      • 3.1 vide PublierAsync(sujet de chaîne, message de variante) [rendement]
      • 3.2 RBXScriptConnection S'abonnerAsync(sujet de chaîne, rappel de fonction) [rendements]
    • 4 Liens externes

    Limites

    Bien qu'il s'agisse d'un service très puissant, il a d'abord été critiqué pour ses limites, il y avait une croyance d'un maximum de 10,000 1 requêtes par univers[XNUMX], a déclaré Ozzypig, un développeur de premier plan, craignant que ce soit trop peu. Depuis lors, il a été mentionné par Seranok, un employé de Roblox, qu'il s'agit des abonnements par sujet par univers[2].




    Limitation Courant
    Taille des messages 1 Ko
    Messages par serveur de jeu par minute 150 + 60 * nombre de joueurs
    Abonnements par serveur de jeu 5 + 2 * nombre de joueurs
    Abonnements par thème par univers de jeu 10,000

    Exemple de code

    Créons un scénario en utilisant Service de messagerie qui fait ce qui suit :



    Chaque fois qu'un joueur discute, le code suivant enverra ce message à tous les serveurs, permettant la communication entre serveurs. Ce code comparerait le Service de messagerieLa propriété JobId de DataModel pour garantir que les messages ne sont pas envoyés deux fois sur le même serveur.


    local MessagingService = game:GetService("MessagingService") local Players = game: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 -- La correspondance de JobId, don ne plus envoyer le message. return end -- data.Player est le nom d'utilisateur du joueur qui a envoyé le message. -- data.Message est le message envoyé. end)

    Les fonctions

    Service de messagerie annuler PublierAsync(sujet de chaîne, message de variante) [rendement]

    Envoie des données à tous les rappels qui sont abonnés au sujet donné.


    Service de messagerie RBXScriptConnexion S'abonnerAsync(sujet de chaîne, rappel de fonction) [rendements]

    Provoque l'exécution du rappel donné chaque fois qu'un message est reçu de PublishAsync avec la rubrique correspondante.

    Liens externes

    • MessagingService sur Roblox Developer Hub
    • MessagingService dans la référence de l'API Roblox
    1. ↑ https://devforum.roblox.com/t/messagingservice-beta-release/254462/12
    2. ↑ https://devforum.roblox.com/t/messagingservice-release/254462/70
    ajouter un commentaire de Service de messagerie
    Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.