Buenas, he estado buscando (aunque tampoco se como llamarlo exactamente) la posibilidad de que un main abra dos consolas distintas.
Os explico, practicando con UDP he medio programado un chat. Esta es la interfaz primaria:
public class Chat {
private Cliente cl;
private Servidor sv;
public Chat() {
cl = new Cliente();
sv = new Servidor();
}
public Chat
(String ipServ,
int puertSend,
int puertRec
) { cl = new Cliente(ipServ, puertSend);
sv = new Servidor(puertRec);
}
public void Arrancar() {
sv.Connect();
cl.Connect();
}
public static void main
(String[] args
) { // TODO Auto-generated method stub
Chat chat = new Chat();
chat.Arrancar();
}
}
Pues bueno, en la consola me aparece el servidor conectando, pero no puede conectar. He pensado hacerlo concurrente, pero mi duda es si hay alguna forma de ejecutar cada trozo en una consola diferente (se que puedo llamarlos por separado, pero quiero saber si se puede).
Saludos
EDITO: Aquí tengo el code en una concurrencia básica:
public class Chat {
private Cliente cl;
private Servidor sv;
public Chat() {
cl = new Cliente();
sv = new Servidor();
//////////////////////////////////////////////
Arrancar();
/////////////////////////////////////////////
}
public Chat
(String ipServ,
int puertSend,
int puertRec
) { cl = new Cliente(ipServ, puertSend);
sv = new Servidor(puertRec);
}
////////////////////////////////////////////////////// Procedimiento Arrancar() cambiado entero
public void Arrancar() {
sv.start();
cl.start();
try {
sv.join();
cl.join();
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main
(String[] args
) { // TODO Auto-generated method stub
new Chat();
}
}