16. Uuidgen Interface definition file IDL Compiler Client stub object file Server stub Server Code Header Client stub Server stub object file C Compiler C Compiler C Compiler Client Code C Compiler Server object file Client object file Linker Runtime Library Runtime Library Linker Client binary Server binary #include #include Writing a Client & a Server
17. Directory Server 1. Register Endpoint Binding Client & Server 2. Register Service 3. Look up Server 4. Ask for Endpoint 5. Do RPC Client Machine Directory Machine Client Server Endpoint Table
18. Performing an RPC Client Machine Server Machine Client process Server process Client OS Server OS K=add(i,j) K=add(i,j) 3.Message is sent across network 1.Client call to procedure 2. Stub builds message 4. Server OS hands msg to server stub 5. Stub unpacks msg 6.Stub makes local call to add Client stub Server stub proc: “add” int: val(i) int: val(j) proc: “add” int: val(i) int: val(j) proc: “add” int: val(i) int: val(j)