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 La 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
annuler PublierAsync(sujet de chaîne, message de variante) [rendement] |
Envoie des données à tous les rappels qui sont abonnés au sujet donné. |
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
- ↑ https://devforum.roblox.com/t/messagingservice-beta-release/254462/12
- ↑ https://devforum.roblox.com/t/messagingservice-release/254462/70