• Publicidad

Cómo ejecutar un programa de un pc desde un servidor

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Cómo ejecutar un programa de un pc desde un servidor

Notapor Siji » 2006-07-03 05:40 @277

Desde un ordenador local accedo a un servidor de linux en el que esta el cgi a ejecutar. Mi pregunta es si alguien conoce algún método para conseguir ejecutar desde dicho servidor un programa que ya exista en el ordenador local. He probado con system pero no es útil porque la ruta del pc local no se reconoce desde el servidor (c:\...).
Siji
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-07-03 05:26 @268

Publicidad

Notapor explorer » 2006-07-03 05:58 @290

Respuesta rápida: convierte a tu ordenador local en un servidor.

Puedes instalarte el Apache y el Perl (o cualquier otro lenguaje para CGI) y ya podrás responder a las peticiones del otro servidor.

Tiempo de instalación: 10 minutos.

Otras formas, dependen del sistema operativo. Si es un Unix, Linux, BSD, tienes otras, como RPC, abrir sockets y comunicar comandos, ssh-run, etc. etc.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Siji » 2006-07-03 06:19 @305

El problema radica en que dicho ordenador no puede tener instalado ni el apache ni el perl y el sistema operativo puede variar. Es decir, el acceso al servidor se podrá realizar desde cualquier ordenador sin necesidad de que éste tenga nada instalado para comunicarse con el servidor y lo vea todo como una web sin más
Siji
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-07-03 05:26 @268

Notapor explorer » 2006-07-03 06:50 @326

Bueno... pero vamos a ver... si puede acceder cualquier ordenador y el sistema operativo puede variar, ¿cómo va a saber el servidor qué programa puede ejecutar en el cliente?

Si yo preparo mi infraestructura del lado del servidor con un ActiveX para que cuando se baje en los clientes, éste pueda ejecutar procesos locales -previo consentimiento del usuario-, ¿qué es lo que hago si el cliente sólo usa Firefox, o es un usuario con un MacOSX, o si es una persona con una PDA Palm o teléfono nokia E61 que se conecta por GPRS? Ninguno de ellos podrá ejecutar el ActiveX. Un ejemplo de ActiveX son los antivirus web de Panda.

Otra solución pasaría por desarrollar un Applet de Java, pero hay que decirle al usuario que le dé permiso de ejecución en modo local (que libere alguna de las restricciones de seguridad). De esta manera funcionaría igual que con el ActiveX: el cliente se conecta, se baja el Applet, el Applet pide permiso de ejecución local y sigue. Pero volvemos a tener el problema de siempre: no está garantizado que todos los clientes tengan instalado la máquina virtual de Java.

No sé si con XUL se puede hacer algo de esto...

En definitiva, salvo que me haya desfasado, si quieres que el servidor mande una orden a un cliente, en el cliente 'algo' debe estar escuchando, es decir, tiene que tener un programa servidor funcionando.

En el caso de que el programa local que quieras ejecutar ya esté instalado, lo que necesitas es que arranque por una petición del usuario al servidor. Estamos en el mismo caso: necesitas un ActiveX que, primero, pida permiso al usuario.

¿Tienes más detalles?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-07-03 06:52 @327

¿El programa instalado en el ordenador local está siempre en el mismo PATH?

En ese caso es fácil: le dices al CGI que se redirija al URL:

file:///C:/directorio/programa.exe

pero sólo funciona con el IExplorer y con algunas seguridades liberadas...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Siji » 2006-07-03 08:04 @378

A ver, el tema es que dicha web permite descargar un programa, pero en caso de que ya lo tengas instalado sólo deberías introducir la ruta y al pulsar el botón el servidor debería ejecutar un código que permitiese acceder al ordenador local y ejecutar el programa al estilo de la instrucción system. El problema es que las personas que descargan dicho programa no tienen por qué tener instalado el apache o el perl.
Siji
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-07-03 05:26 @268

Notapor kidd » 2006-07-03 09:27 @435

Hola:

Puedes hacer un ejecutable que tenga al Perl incluído, de ésta manera no necesitarás que el cliente realicé la instalación del Perl para poder ejecutar el script, para ello te recomiendo que cheques las siguientes ligas:

Perl2Exe
http://indigostar.com/perl2exe.htm

Perl Dev Kit
http://www.activestate.com/Products/Per ... mpaign=PDK

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor explorer » 2006-07-03 09:54 @454

Estoy con kidd...

Es más cómodo pedirle al usuario que primero se instale el programa y luego que lo ejecute como una aplicación más.

En este foro hay bastantes mensajes sobre el tema de cómo crear programas compilados en Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Siji » 2006-07-03 10:04 @461

OK. intentré a ver que pasa. gracias
Siji
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-07-03 05:26 @268


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados