Este es uno de los proyectos elaborados para la asignatura de Programación de Sistemas Distribuidos.
Somos conscientes de lo rudimentarias e ineficientes que son las estructuras de datos utilizadas, así como el uso de memoria estática en vez de dinámica en muchos casos. Debido al poco tiempo disponible para llevar a cabo la práctica y por alejarse del objetivo principal de ésta, consideramos adecuadas estas decisiones de implementación.
Esta código ha sido escrito por:
-
Descargar la version 2.8.24 de gsoap
-
Copiar el fichero gsoap_2.8.24.zip en $HOME
> cp gsoap_2.8.24.zip $HOME
-
Descomprimir con:
> unzip gsoap_2.8.24.zip
Se generará un directorio gsoap-2.8 - Ya podemos borrar el .zip
Instalar los siguientes paquetes:
> sudo apt-get install bison flex byacc openssl g++ libssl-dev
-
Configurar la instalación (dentro del directorio gsoap-2.8):
> ./configure
-
Compilamos (dentro del directorio gsoap-2.8):
> make
-
Creamos el directorio para la instalación:
> mkdir $HOME/gsoap-linux_2.8.24
-
Instalamos:
> make install exec_prefix=$HOME/gsoap-linux_2.8.24
Si hay probelmas de permisos:
> sudo make install exec_prefix=$HOME/gsoap-linux_2.8.24
-
Incluimos en $HOME/.bashrc
> export GSOAP_HOME=$HOME/gsoap-linux_2.8.24 > export GSOAP_LIB=${GSOAP_HOME}/lib > export GSOAP_INCLUDE=${GSOAP_HOME}/include > PATH=$PATH:$GSOAP_HOME/bin
-
Generamos los stubs a partir de la interfaz remota (fichero: ims.h):
$ soapcpp2 -c -S ims.h
-
Compilamos
> make server
Generará un ejecutable llamado 'servidor'
-
Ejecución:
> ./server [puerto]
Por ejemplo:
> ./server 5000
-
Generamos los stubs a partir de la interfaz remota (fichero: ims.h):
$ soapcpp2 -c -C ims.h
-
Compilamos
> make client
Generará un ejecutable llamado 'cliente'
-
Ejecución:
> ./client [URL + puerto]
Por ejemplo:
> ./client http://192.168.0.35:5000