Está compilación/ejecución supone un esquema del tipo Single Program Multiple Data: un solo código de programa con multiples instancias de ejecución. Para lograrlo se debe distribuir en un archivo .jar todo el código de la aplicación, tanto el cliente como el servidor. Este archivo deberá instalarse tanto en la máquina en donde se lanzará el servidor como en las máquinas en donde se ejecutarán los clientes.
Reemplace /usr/local/java1.2 por el directorio en donde se encuentra
JDK1.2 en su máquina.
set path=(/usr/local/java1.2/bin $path)
Verifique que la versión accesible de java es la 1.2 ejecutando el comando java -version. En Solaris el resultado de este comando es:
Todos los programas que usa este ejemplo deben ser ejecutados
con JDK 1.2. No mezcle procesos que usan
JDK1.2 con otros que usan JDK1.1.
% java -version
java version "1.2.1"
Solaris VM (build Solaris_JDK_1.2.1_03, native threads, sunwjit)
% javac IrcServerImpl.java IrcReader.java IrcWriter.java
% rmic -d . IrcServerImpl
% ls
... IrcServerImpl_Skel.class IrcServerImpl_Stub.class ...
Los stubs y skeletons se encargan de establecer una conexión entre los
clientes y un objeto remoto. Los stubs corren en la parte cliente
y los skel en el servidor. Observe que los fuentes de stubs
y skels son borrados (porque no se necesitan).
Compruebe que el archivo contiene todas las clases necesarias:
% jar cvf irc.jar *.class
added manifest
adding: IrcReader.class(in = 1305) (out= 735)(deflated 43%)
adding: IrcServer.class(in = 322) (out= 215)(deflated 33%)
adding: IrcServerImpl.class(in = 1720) (out= 938)(deflated 45%)
adding: IrcServerImpl_Skel.class(in = 2156) (out= 1179)(deflated 45%)
adding: IrcServerImpl_Stub.class(in = 4075) (out= 1971)(deflated 51%)
adding: IrcWriter.class(in = 1311) (out= 755)(deflated 42%)
%
Este archivo debe ser colocado en cualquier máquina en donde desee
ejecutar ya sea el servidor como los clientes y debe ser especificado
en la variable CLASSPATH.
% jar tvf irc.jar
...
%
En donde "..." es el directorio en donde colocó el archivo irc.jar.
% setenv CLASSPATH .../irc.jar
% rmiregistry
% setenv CLASSPATH .../irc.jar
% java IrcServerImpl
IrcServer registered
Los mensajes aportados a la conversación aparecerán en el futuro en
esta ventana.
% setenv CLASSPATH .../irc.jar
% java IrcReader borg
//borg/IrcServer got. Next message will have id 0
Como seguramente Ud. ha encontrado algún error que impide hacer la conexión
revise cuidadosamente cada uno de los pasos señalados en esta página.
¡Cuidado! Aún cuando el servidor logró conectarse, el error puede estar
en la forma en que lanzó el servidor. Revise también esos pasos.
% setenv CLASSPATH .../irc.jar
% java IrcWriter borg juan
//borg/IrcServer got.
?
Envíeme vía mail su error favorito para colocarlo en esta página.