Un langage IDL (Interface Definition Language) est-il nécessaire dans un RPC (Remote procedure call) même si les langages de programmation côté client et côté serveur sont identiques (la fonction appelée à distance est écrite dans le même langage de programmation comme le programme appelant la fonction)?Rôle de IDL dans RPC lors de la programmation des langages sur le client et le serveur?
0
A
Répondre
0
Dépend de la langue, si elle a une fonction intégrée pour marshaling arguments et la méthode & identificateurs d'objet sur le fil. C/C++ n'a pas un tel support intégré, donc nous avons, par exemple, MIDL pour définir les interfaces COM. La compilation crée un proxy et un code stub pour convertir la sémantique des appels de méthode en/depuis la messagerie IPC/RPC.
La compilation de langages de niveau supérieur peut produire des métadonnées de réflexion suffisantes pour générer le marshaling au moment de l'exécution, de sorte que le langage de programmation est IDL.