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
rappel quand le RemoteFunction est invoqué avec InvokeClient().
rappel pour quand le RemoteFunction est invoqué avec InvokeServer().
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.
Évènements
Rappels
OnClientInvoke
Ce rappel est appelé lorsque la fonction RemoteFunction est invoquée avec InvokeClient(). Lorsque la fonction liée est renvoyée, les valeurs renvoyées sont envoyées au serveur d'appel.
Voir événements et appels à distance pour des exemples de code et plus de détails sur OnClientInvoke .
Paramètres
Les paramètres envoyés via InvokeClient() .
Retours
Valeurs renvoyées par la fonction de rappel.
OnServerInvoke
Ce rappel est appelé lorsque la fonction RemoteFunction est invoquée avec InvokeServer(). Lorsque la fonction liée renvoie, les valeurs renvoyées sont envoyées au client d'appel.
Voir événements et appels à distance pour des exemples de code et plus de détails sur OnServerInvoke .
Paramètres
Le Player associé au client que le InvokeServer() appel d'origine.
Les paramètres envoyés via InvokeServer() .
Retours
Valeurs renvoyées par la fonction de rappel.