77 lines
2.2 KiB
Java
77 lines
2.2 KiB
Java
package rmi_chat_l_hearts;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStreamReader;
|
|
import java.net.MalformedURLException;
|
|
import java.rmi.Naming;
|
|
import java.rmi.NotBoundException;
|
|
import java.rmi.RemoteException;
|
|
|
|
/**
|
|
* Created by Giovanni on 11/12/2014.
|
|
*/
|
|
public class LaunchClient {
|
|
|
|
private final static String name = "alfio"; //instead of vm args
|
|
private static String sex; //instead of vm args
|
|
|
|
public static void main (String [] args) {
|
|
|
|
try {
|
|
|
|
if (Math.random() >= 0.5)
|
|
sex = "UOMO";
|
|
else
|
|
sex = "DONNA";
|
|
|
|
System.out.println("Sono un " + sex + " e mi chiamo " +name);
|
|
ServerInterface s = (ServerInterface) Naming.lookup("rmi://localhost/server");
|
|
ClientInterface c = new Client(name,sex,s);
|
|
((Client)c).setCompagno(s.iscriviti(c, ((Client) c).getSex()));
|
|
|
|
BufferedReader i = new BufferedReader(new InputStreamReader(System.in));
|
|
while (true) {
|
|
String cmd = command(i);
|
|
if (!cmd.equals("!quit")) {
|
|
if ( ((Client)c).getCompagno() != null)
|
|
((Client)c).getCompagno().dici(new Message( ((Client)c).getName() , cmd ));
|
|
else
|
|
System.out.println("non hai ancora un partner. Impossibile inviare messaggi");
|
|
} else {
|
|
if ( ((Client)c).getCompagno() != null) {
|
|
((Client) c).getCompagno().quit(((Client) c).getName());
|
|
}else{
|
|
s.disiscriviti(c, ((Client) c).getSex());
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
} catch (RemoteException e) {
|
|
e.printStackTrace();
|
|
} catch (MalformedURLException e) {
|
|
e.printStackTrace();
|
|
} catch (NotBoundException e) {
|
|
e.printStackTrace();
|
|
}
|
|
finally {
|
|
System.exit(0);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private static String command (BufferedReader i){
|
|
try {
|
|
return i.readLine();
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return "!quit";
|
|
}
|
|
|
|
|
|
}
|