SlideShare uma empresa Scribd logo
1 de 15
RPC  Remote Procedure Call Llamada a Procedimiento Remoto Daniel Cruz Chávez
RPC Introducción ,[object Object],[object Object],[object Object]
Llamada y retorno convencional
RPC Características ,[object Object],[object Object],[object Object],[object Object],[object Object]
RPC Características ,[object Object],[object Object]
Modelo RPC
RPC Procedimiento ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo de una llamada a procedimiento local ,[object Object],#include <stdio.h> int main(argc, argv) ‏ int argc; char *argv[]; { char *message; message = argv[1];   /* llamada a procedimiento */ printmessage(message)    return 0; } /* Procedimiento que  imprime un mensaje */ printmessage(msg) ‏ char *msg; { printf(&quot;%s&quot;, msg); return(1); }
Ejemplo de llamada a procedimiento remoto #include <stdio.h> #include &quot;msg.h&quot;  /* archivo de definición RPC */ main(argc, argv) ‏ int argc; char *argv[]; { CLIENT *clnt; int *result; char *server; char *message; if (argc != 3) { fprintf(stderr,  &quot;uso: %s host mensaje&quot;,   argv[0]); return 1; } server = argv[1]; message = argv[2]; /* crea un manejador del procedimiento remoto */ clnt = clnt_create(server, /*servidor*/ MESSAGEPROG, /*N° Prog*/ PRINTMESSAGEVERS, /*N° Ver*/ ” udp” /*Transp*/ ); if (clnt == (CLIENT *)NULL) { /* Si no hay comunicacion    con el servidor, se imprime    mensaje de error */ clnt_pcreateerror(server); return 1; }
Ejemplo de una Llamada a procedimiento remoto /*  Llamada a procedimiento remoto  */ result = printmessage_1(&message, clnt); if (result == (int *)NULL) { /* Si hay un error mientras se llama al procedimiento remoto */ clnt_perror(clnt, server); return 1; } if (*result == 0) {   /* Si el servidor tuvo problema para imprimir nuestro mensaje */   fprintf(stderr,&quot;%s: no se pudo imprimir su mensaje &quot;,argv[0]);   return 1; } /* El mensaje fue impreso en la consola del servidor */ printf(&quot;Mensaje enviado a %s&quot;, server); clnt_destroy( clnt ); return 0; }
Procedimiento remoto #include <stdio.h> #include &quot;msg.h&quot;  int * printmessage_1(msg, req) ‏ char **msg; struct svc_req req;  /* detalles de la llamada */  { static int result;  result = 0; printf(&quot;%s&quot;, *msg); result = 1; return (&result); }
Formato RPC ,[object Object],[object Object]
RPC Autentificación ,[object Object],[object Object],[object Object],[object Object]
PortMapper ,[object Object],[object Object],[object Object]
PortMapper

Mais conteúdo relacionado

Mais procurados

Protocolo udp capítulo 4.4
Protocolo udp capítulo 4.4Protocolo udp capítulo 4.4
Protocolo udp capítulo 4.4
Isabel Yepes
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
rey
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
rey
 
Presentacion exposicion udp y tcp
Presentacion exposicion udp y tcpPresentacion exposicion udp y tcp
Presentacion exposicion udp y tcp
Oscar Eduardo
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
laura1352
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java
Gilberto Garcia Zavaleta
 

Mais procurados (18)

Protocolo udp capítulo 4.4
Protocolo udp capítulo 4.4Protocolo udp capítulo 4.4
Protocolo udp capítulo 4.4
 
Programacion en sockets informe
Programacion en sockets informeProgramacion en sockets informe
Programacion en sockets informe
 
Sockets en JAVA
Sockets en JAVASockets en JAVA
Sockets en JAVA
 
Practica cliente servidor java
Practica cliente servidor javaPractica cliente servidor java
Practica cliente servidor java
 
Proyecto integrado
Proyecto integradoProyecto integrado
Proyecto integrado
 
Bosquejo general
Bosquejo generalBosquejo general
Bosquejo general
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Presentacion exposicion udp y tcp
Presentacion exposicion udp y tcpPresentacion exposicion udp y tcp
Presentacion exposicion udp y tcp
 
Comunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidosComunicación entre procesos Sistemas distribuidos
Comunicación entre procesos Sistemas distribuidos
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
 
Remox - Control Remoto de Terminales Linux
Remox - Control Remoto de Terminales Linux Remox - Control Remoto de Terminales Linux
Remox - Control Remoto de Terminales Linux
 
Capa de transporte (2)
Capa de transporte (2)Capa de transporte (2)
Capa de transporte (2)
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java
 
Practica1
Practica1Practica1
Practica1
 
Modelo tcp
Modelo tcpModelo tcp
Modelo tcp
 
Dhcp
DhcpDhcp
Dhcp
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 

Destaque

Presentacion rpc
Presentacion rpcPresentacion rpc
Presentacion rpc
CPLODOSA
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
Aldo Ulloa Carrasco
 
Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)
Abdelrahman Al-Ogail
 
Capa 2 modelo osi enlace de datos
Capa 2 modelo osi enlace de datosCapa 2 modelo osi enlace de datos
Capa 2 modelo osi enlace de datos
dianamarcela0611
 

Destaque (10)

Presentacion rpc
Presentacion rpcPresentacion rpc
Presentacion rpc
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Capa 2 modelo osi enlace de datos
Capa 2 modelo osi enlace de datosCapa 2 modelo osi enlace de datos
Capa 2 modelo osi enlace de datos
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
El grupo y sus características
El grupo y sus característicasEl grupo y sus características
El grupo y sus características
 
State of the Word 2011
State of the Word 2011State of the Word 2011
State of the Word 2011
 

Semelhante a Redes Rpc

Sistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y PythonSistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y Python
Ernesto Crespo
 
Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2
ingnucious
 
Herramientas de red de los sistemas operativos
Herramientas de red de los sistemas operativosHerramientas de red de los sistemas operativos
Herramientas de red de los sistemas operativos
yoes1053
 

Semelhante a Redes Rpc (20)

Sistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y PythonSistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y Python
 
Tcpdump
TcpdumpTcpdump
Tcpdump
 
Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2
 
Tema 2. E_S Estructuras de Control 19-02-23.pdf
Tema 2. E_S Estructuras de Control 19-02-23.pdfTema 2. E_S Estructuras de Control 19-02-23.pdf
Tema 2. E_S Estructuras de Control 19-02-23.pdf
 
Tcpdump a.2
Tcpdump a.2Tcpdump a.2
Tcpdump a.2
 
Mrtg ubuntu
Mrtg ubuntuMrtg ubuntu
Mrtg ubuntu
 
Programacionclienteservidor
ProgramacionclienteservidorProgramacionclienteservidor
Programacionclienteservidor
 
Primera clase
Primera clasePrimera clase
Primera clase
 
Eficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónEficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecución
 
Programa
ProgramaPrograma
Programa
 
Ejemplos programacion socket java
Ejemplos programacion socket javaEjemplos programacion socket java
Ejemplos programacion socket java
 
Comandos basicos router
Comandos basicos routerComandos basicos router
Comandos basicos router
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Comando de router
Comando de router Comando de router
Comando de router
 
Herramientas de red de los sistemas operativos
Herramientas de red de los sistemas operativosHerramientas de red de los sistemas operativos
Herramientas de red de los sistemas operativos
 
PROCESOS EN LINUX. ::: http://leymebamba.com
PROCESOS EN LINUX.   ::: http://leymebamba.comPROCESOS EN LINUX.   ::: http://leymebamba.com
PROCESOS EN LINUX. ::: http://leymebamba.com
 
Mq conceptos y programacion as400
Mq conceptos y programacion as400Mq conceptos y programacion as400
Mq conceptos y programacion as400
 
Configuración 01
Configuración 01Configuración 01
Configuración 01
 
Lw2010 Pedro Valera
Lw2010 Pedro ValeraLw2010 Pedro Valera
Lw2010 Pedro Valera
 
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En RedesLw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
 

Mais de Daniel Cruz (9)

Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOG
 
Aprendiendo SQL 2
Aprendiendo SQL 2 Aprendiendo SQL 2
Aprendiendo SQL 2
 
Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - Excel
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serie
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrollo
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducción
 
Manejo Roles Linux
Manejo Roles LinuxManejo Roles Linux
Manejo Roles Linux
 
Sq Lv1a
Sq Lv1aSq Lv1a
Sq Lv1a
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Redes Rpc

  • 1. RPC Remote Procedure Call Llamada a Procedimiento Remoto Daniel Cruz Chávez
  • 2.
  • 3. Llamada y retorno convencional
  • 4.
  • 5.
  • 7.
  • 8.
  • 9. Ejemplo de llamada a procedimiento remoto #include <stdio.h> #include &quot;msg.h&quot; /* archivo de definición RPC */ main(argc, argv) ‏ int argc; char *argv[]; { CLIENT *clnt; int *result; char *server; char *message; if (argc != 3) { fprintf(stderr, &quot;uso: %s host mensaje&quot;, argv[0]); return 1; } server = argv[1]; message = argv[2]; /* crea un manejador del procedimiento remoto */ clnt = clnt_create(server, /*servidor*/ MESSAGEPROG, /*N° Prog*/ PRINTMESSAGEVERS, /*N° Ver*/ ” udp” /*Transp*/ ); if (clnt == (CLIENT *)NULL) { /* Si no hay comunicacion con el servidor, se imprime mensaje de error */ clnt_pcreateerror(server); return 1; }
  • 10. Ejemplo de una Llamada a procedimiento remoto /* Llamada a procedimiento remoto */ result = printmessage_1(&message, clnt); if (result == (int *)NULL) { /* Si hay un error mientras se llama al procedimiento remoto */ clnt_perror(clnt, server); return 1; } if (*result == 0) { /* Si el servidor tuvo problema para imprimir nuestro mensaje */ fprintf(stderr,&quot;%s: no se pudo imprimir su mensaje &quot;,argv[0]); return 1; } /* El mensaje fue impreso en la consola del servidor */ printf(&quot;Mensaje enviado a %s&quot;, server); clnt_destroy( clnt ); return 0; }
  • 11. Procedimiento remoto #include <stdio.h> #include &quot;msg.h&quot; int * printmessage_1(msg, req) ‏ char **msg; struct svc_req req; /* detalles de la llamada */ { static int result; result = 0; printf(&quot;%s&quot;, *msg); result = 1; return (&result); }
  • 12.
  • 13.
  • 14.