MessagingService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
MessagingService permet aux serveurs de la même expérience de communiquer entre eux en temps réel (moins d'un seconde) en utilisant des sujets. Les sujets sont des chaînes de caractères (1–80 caractères) que les serveurs utilisent pour envoyer et recevoir des messages.
La livraison est le meilleur effort et n'est pas garanti. Assurez-vous d'architecturer votre expérience pour que les échecs de la livraison ne soient pas critiques.
Messagerie entre serveurs Cross-Server explore comment communiquer entre les serveurs dans plus de détails.
Si vous souhaitez publier des messages ad hoc sur les serveurs de jeu en direct, vous pouvez utiliser les Open Cloud APIs.
Limites
Notez que ces limites sont sujettes à changement.
<tbody><tr><td><b>Taille du message</b></td><td>1kB</td></tr><tr><td><b>Messages envoyés par serveur de jeu</b></td><td>600 + 240 \* (nombre de joueurs dans ce serveur de jeu) par minute</td></tr><tr><td><b>Messages reçus par sujet</b></td><td>(40 + 80 \* nombre de serveurs) par minute</td></tr><tr><td><b>Messages reçus pour le jeu entier</b></td><td>(400 + 200 \* nombre de serveurs) par minute</td></tr><tr><td><b>Souscriptions autorisées par serveur de jeu</b></td><td>20 + 8 \* (nombre de joueurs dans ce serveur de jeu)</td></tr><tr><td><b>Abonnement aux demandes par serveur du jeu</b></td><td>240 demandes par minute</td></tr></tbody>
Limite | Maximum |
---|
Résumé
Méthodes
Invoke le rappel fourni chaque fois qu'un message est envoyé dans le sujet.
Commence à écouter le sujet donné.
Propriétés
Méthodes
PublishAsync
Cette fonction envoie le message fourni à tous les abonnés au sujet, ce qui déclenche l'appel enregistré pour être invoqué.
Expire jusqu'à ce que le message soit reçu par le serveur.
Paramètres
Détermine l'endroit où le message est envoyé.
Les données à inclure dans le message.
Retours
SubscribeAsync
Cette fonction enregistre un rappel pour commencer à écouter le sujet donné. Le rappel est invoqué lorsqu'un sujet reçoit un message. Il peut être appelé plusieurs fois pour le même sujet.
rappel
L'appel est invoqué avec un seul argument, une table contenant les entrées suivantes :
<tbody><tr><td><b>Données</b></td><td>Chargement du développeur</td></tr><tr><td><b>envoyé</b></td><td>Temps Unix en secondes à laquelle le message a été envoyé</td></tr></tbody>
Champ | Résumé |
---|
Il génère jusqu'à ce que l'abonnement soit correctement enregistré et renvoie un objet de connexion.
Pour vous désabonner, appelez Disconnect() sur l'objet renvoyé. Une fois appelé, le rappel ne devrait jamais être invoqué. Tuer le script contenant les connexions entraîne également la désabonnement de la connexion sous-jacente.
Voir également MessagingService:PublishAsync() qui envoie le message fourni à tous les abonnés au sujet, ce qui déclenche l'appel enregistré pour être invoqué.
Paramètres
Détermine où écouter les messages.
Fonction à être invoquée chaque fois qu'un message est reçu.
Retours
Connexion qui peut être utilisée pour se désabonner du sujet.
Échantillons de code
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)