Oppure

Loading
18/07/09 19:50
simoo88
buonasera,
vi scrivo per porvi un quesito e vedere se qualcuno più esperto di me può aiutarmi.
Ho creato un server e un client che comunicano grazie ad RMI,naturalmente il client conosce l'indirizzo in rete del server (grazie al servizio no-ip).Diciamo che utilizzo il server per tutto il tempo che decido di rimanere loggato,quando mi stanco faccio una logout ed esco.Tutto ciò viene tenuto in memoria da un database nel mio server.Fino qui nessun problema.....Quello che non riesco a fare e che mi servirebbe moltissimo è:
ogni tot di tempo il SERVER deve inviare dei messaggi al CLIENT che è loggato...quindi al momento della login del client dovrei tenere traccia dell'indirizzo ip per potergli parlare ogni tot di tempo.
Come posso fare in java a fare tutto ciò???come faccio al momento della login a ricavare l'indirizzo ip del client (naturalmente non il mio solito 192.0.0.2 8-) ).
Saluti e grazie.
aaa
18/07/09 20:20
lorenzo
Postato originariamente da simoo88:

buonasera,
vi scrivo per porvi un quesito e vedere se qualcuno più esperto di me può aiutarmi.
Ho creato un server e un client che comunicano grazie ad RMI,naturalmente il client conosce l'indirizzo in rete del server (grazie al servizio no-ip).Diciamo che utilizzo il server per tutto il tempo che decido di rimanere loggato,quando mi stanco faccio una logout ed esco.Tutto ciò viene tenuto in memoria da un database nel mio server.Fino qui nessun problema.....Quello che non riesco a fare e che mi servirebbe moltissimo è:
ogni tot di tempo il SERVER deve inviare dei messaggi al CLIENT che è loggato...quindi al momento della login del client dovrei tenere traccia dell'indirizzo ip per potergli parlare ogni tot di tempo.
Come posso fare in java a fare tutto ciò???come faccio al momento della login a ricavare l'indirizzo ip del client (naturalmente non il mio solito 192.0.0.2 8-) ).
Saluti e grazie.


scusa, quando il client chiama il metodo che il server espone tramite rmi gli passa anche l'ip...tanto deve farlo solamente una volta, cioè quando si logga.


ps: è per il progetto di ing del sw??? :D
aaa
18/07/09 21:12
simoo88
se sono nel server in che modo riesco a leggere l'ip del client che ha richiamato il metodo che vuole utilizzare?
aaa
19/07/09 10:47
lorenzo
un metodo rmi viene chiamato dal client giusto?
basta che tra i parametri passati in quel metodo ci aggiungi l'ip

per esempio:

public void login(String username. String password, String ip);
aaa
19/07/09 16:28
simoo88
ok fino a quì va bene ;) ma è proprio ora che arriva il bello...
come faccio dal mio client a leggere in con che ip sono collegato alla rete?
ho provato con....
import java.net.*;
import java.io.*;
import java.applet.*;

public class GetClientIP extends Applet {
public void init() {
try {
InetAddress thisIp =
InetAddress.getLocalHost();
System.out.println("IP:"+thisIp.getHostAddress());
}
catch(Exception e) {
e.printStackTrace();
}
}
}




ma mi resituisce l'indirizzo ip della mia rete interna....ovvero in qst caso...
192.168.0.2
è solo che non posso passare ad un server in rete questo ip..non troverà mai il mio pc ma mi serve l'ip pubblico...penso di essere stato chiaro ora ;)
Grazie lorenzo ***** :rofl:
aaa
19/07/09 18:52
lorenzo
public String getHTML(String addr) throws Exception {
  URL url = new URL(addr);
  String buf = "";
  BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
  String line;
  while ((line = in.readLine())!=null) {
    buf += line+"\n";
  }
  return buf;
}


connettiti a questo indirizzo e dovresti ottenere solo la stringa del tuo ip
whatismyip.com/automation/…
aaa