Vector en RMI

Iniciado por ch1n0, Junio 14, 2011, 04:35:09 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 14, 2011, 04:35:09 PM Ultima modificación: Abril 18, 2013, 12:47:51 PM por Expermicid
hola a todos. estoy asiendo un programita en java con RMI. lo que hago es enviar un mensaje a traves del cliente, el cual le llega al objetoRemoto y este lo tiene q guardar en un vector, la gracias es q debo ingresar mas mensajes e ir guardandolos en el vector, pero en el objetoRemoto siempre me guarda el mensaje en la primer posicion.

ahi alguna forma de indicarle de que lo guarde en la sgt. psocicion,

codigo del objetoRemoto

Código: java

import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.*;

public class ObjetoRemoto extends UnicastRemoteObject implements InterfaceRemota {

public ObjetoRemoto() throws RemoteException {
super();
}

public int inserta(String usuario, String post) {

String mensaje = new String();
String users[] = new String[10];
Vector vector = new Vector(10);
int a = 0;
int i = 0;

try {
users[i] = usuario;
vector.insertElementAt(post, i);
//System.out.println(vector.elementAt(1));
mensaje = vector.toString();;
a = vector.size();
i++;
}catch(Exception e) {
e.printStackTrace();
}
return i;
}
}

Junio 22, 2011, 12:25:00 AM #1 Ultima modificación: Abril 18, 2013, 12:47:59 PM por Expermicid
lo que pasa es que siempre que el objetoRemoto  llama al método "insertar" re-inicializa la variable i en 0, por lo que inserta en esa posición, luego incrementa i, pero la próxima ves q se llame el método pasara lo mismo, se inicializa en 0, y se incrementa (inútil incremento xd) . No sé si se entendio, pero prueba algo como esto:

Código: java
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.*;

public class ObjetoRemoto extends UnicastRemoteObject implements InterfaceRemota {
private int posActual;
public ObjetoRemoto() throws RemoteException {
super();
                posActual = 0;
}

        public int getposActual(void){
            return this.posActual;
        }

        public void setposActual(int nueva){
            this.posActual = nueva;
        }

public int inserta(String usuario, String post) {

String mensaje = new String();
String users[] = new String[10];
Vector vector = new Vector(10);
int a = 0;

try {
users[i] = usuario;
vector.insertElementAt(post, getposActual());
//System.out.println(vector.elementAt(1));
mensaje = vector.toString();;
a = vector.size();
                setPosActual(getposActual()+1);
}catch(Exception e) {
e.printStackTrace();
}
return i;
}
}
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta