Tenho uma variável estatica:
Code:
private static String lHost
pois esse valor é o mesmo por todos os objetos instanciados…
tenho um método getter e um setter para essa variável (tendo em vista que ela é private)… os métodos devem também ser STATIC?? (já tentei os dois, mas só pra saber mesmo)…
Bom, eu executo um método essa mesma classe: GerenciadorServer:
public void gerencia() - onde uma das primeiras linhas, ele chama o setLHost passando como argumento o String.valueOf(blablagetLocalHost) (método que me retorna o nome e ip local).
O fato é que a variável estática continua nula, nao estou conseguindo mudá-la, outra coisa curiosa, é que no DEBUG do eclipse a variável nao aparece na listinha (this, etc) onde aparecem as variaveis e seus valores antes e/ou depois de setados.
Alguém sabe como modifico o valor da mesma?
Obrigado!
[code]package gerenciador;
import java.io.;
import java.net.;
public class GerenciadorServer {
private String recebido = null;
private String envia = "ok\n";
private static String localHost;
private int index;
public String getRecebido() {
return recebido;
}
public void setRecebido(String rec) {
recebido = rec;
}
public String getEnvia() {
return envia;
}
// trata e seta localHost
public void setLocalHost( String localH ){
index = localH.indexOf("/");
localHost = localH.substring(index+1);
}
public String getLocalHost() {
return localHost;
}
public void gerencia() throws Exception {
//cria socket de comunicação com os clientes
ServerSocket welcomeSocket = new ServerSocket(6968);
// seta o LocalHost no server
setLocalHost(String.valueOf(InetAddress.getLocalHost()));
//espera a mensagem de algum cliente e trata
while(true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader recebidoDoCliente =
new BufferedReader( new InputStreamReader(connectionSocket.getInputStream()));
//DataOutputStream enviaProCliente =
//new DataOutputStream(connectionSocket.getOutputStream());
recebido = recebidoDoCliente.readLine();
if (recebido.length() > 0) {
if ( recebido.substring(0,9).equals("BSMIPHOME")) {
String ipDest = recebido.substring(9); // recebe o ipHome do outro e seta como meu ipDest
GerenciadorClient client = new GerenciadorClient();
client.setIpDest(ipDest);
System.out.println(recebido); //debug
}
else {
System.out.println(recebido);
}
String confirma = "MensagemRecebida!";
//client.gerencia(1, confirma);
}
welcomeSocket.close();
//enviaProCliente.writeBytes(envia);
}
}
}[/code]