Нужен ли IDL (язык определения интерфейса) в RPC (удаленный вызов процедуры), даже если языки программирования на стороне клиента и на стороне сервера одинаковы (то есть функция, вызываемая дистанционно, записывается на одном языке программирования как программа, вызывающая функцию)?Роль IDL в RPC, когда языки программирования одинаковы на стороне клиента и сервера?
0
A
ответ
0
Зависит от языка, имеет ли он встроенное средство для маршалинга аргументов и метода & Идентификаторы объектов по кабелю. C/C++ не поддерживает такую поддержку, поэтому у нас есть, например, MIDL для определения COM-интерфейсов. Компиляция создает код прокси и заглушки для преобразования семантики вызова метода в/из обмена сообщениями IPC/RPC.
Компиляция языков более высокого уровня может создавать метаданные отражения, достаточные для генерации маршалинга во время выполнения, поэтому язык программирования равен IDL.