RemoteFunction
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
L'objet RemoteFunction facilite la communication synchrone entre le Client-serveur et la frontière. Vous pouvez l'utiliser pour définir une fonction d'appel personnalisée et l'appeler manuellement en appelant RemoteFunction:InvokeClient() ou 2> Class.RemoteFunction:ExecuteServer()2>. Le code invoquant la fonction
Pour que le serveur et les clients accèdent à une instance RemoteFunction, il doit être dans un endroit où les deux parties peuvent le voir, comme ReplicatedStorage, bien que dans certains cas, il soit approprié de le stocker dans Workspace ou à l'intérieur d'un 1> Class.Tool1>.
Si le résultat est pas nécessaire , il est recommandé d'utiliser un RemoteEvent à la place, car son appel est asynchrone et n'a pas besoin d'attendre une réponse pour continuer l'exécution. Voir événements et appels à distance pour des exemples de code et plus de détails sur 1> Class.RemoteFunction1> .
Préconisations pour les diffuseurs
Notez que si un RemoteFunction invoqué crée une instance sur le serveur, il
Limites de Paramètres
Tout type d'objet Roblox, comme un Enum, Instance, ou d'autres, peut être passé comme argument lorsqu'un RemoteFunction est invoqué, ainsi que les types Luau tels que les numéros, les chaînes et les booleans, bien que vous devriez explorer soigneusement les 2>limiteurs2>.
Résumé
Méthodes
Invoke la fonction RemoteFunction qui, à son tour, appelle la fonction OnClientInvoke.
Invoke la fonction RemoteFunction qui, à son tour, appelle la fonction OnServerInvoke.
Rappels
Propriétés
Méthodes
InvokeClient
Invoke le RemoteFunction qui, à son tour, appelle le OnClientInvoke rappel. Étant donné que cette méthode est utilisée pour communiquer du serveur à un client, il ne fonctionnera que lorsqu'elle est utilisée dans un Script .
Tout type d'objet Roblox, comme un Enum, Instance, ou d'autres, peut être passé en tant que paramètre à Class.RemoteFunction:ExecuteClient()|ExecuteClient() , ainsi que les types Luau tels que les numéros, les chaînes et les booleans, bien que vous devriez explorer soigneusement les 2>limiteurs2>.
Voir événements et appels à distance pour des exemples de code et plus de détails sur RemoteFunction .
Avertissement
Dans la pratique, le serveur n'invite pas souvent le client, car les clients ne disposent généralement pas d'informations que le serveur n'a pas, et d'actions que seuls les clients peuvent prendre, telles que l'affichage d'un interface utilisateur graphique, ne nécessitent généralement pas d'un rappel. Ainsi, RemoteEvent:FireClient() est recommandé comme une méthode asynchrone qui n'a pas besoin d'attendre une réponse pour continuer l'exécution.
Si vous avez légitimement besoin d'inviter un client à partir du serveur, notez les risques suivants :
- Si le client lance une erreur, le serveur lance également l'erreur.
- Si le client se déconnecte pendant qu'il est invoqué, InvokeClient() lance une erreur.
- Si le client ne renvoie pas de valeur, le serveur génère pour toujours.
Paramètres
Valeurs à transmettre à l'appel OnClientInvoke.
Retours
Valeurs renvoyées par le OnClientInvoke rappel.
InvokeServer
Invoke le RemoteFunction qui, à son tour, appelle le OnServerInvoke rappel. Étant donné que cette méthode est utilisée pour communiquer d'un client au serveur, il ne fonctionnera que lorsqu'elle est utilisée dans un LocalScript.
Si une réponse renvoyée n'est pas nécessaire, il est recommandé d'utiliser RemoteEvent:FireServer() à la place, car son appel est asynchrone et n'a pas besoin d'attendre une réponse pour continuer l'exécution.
Tout type d'objet Roblox, comme un Enum, Instance, ou d'autres, peut être passé en tant que paramètre à Class.RemoteFunction:ExecuteServer()|ExecuteServer() , ainsi que les types Luau tels que les numéros, les chaînes et les booleans, bien que vous devriez explorer soigneusement les 2>limiteurs2>.
Voir événements et appels à distance pour des exemples de code et plus de détails sur RemoteFunction .
Paramètres
Valeurs à transmettre à l'appel OnServerInvoke.
Retours
Valeurs renvoyées par le OnServerInvoke rappel.