Oi!
Estou tentando criar um servidor que deve aceitar uma conexão e continuar ouvindo após a conexão ser fechada, porém não ando tendo progresso em relação a isso. O servidor apenas aceita o primeiro pedido de conexão e não aceita mais conexões. Aqui está o código que fica ouvindo por conexões:
serverSocket = new ServerSocket(Integer.parseInt(SERVER_PORT));
clientSocket = serverSocket.accept();
System.out.println("Chegou alguém aqui!");
//in recebe mensagens
in = new ObjectInputStream(clientSocket.getInputStream());
Roteador inputLine;
while(true) {
if((inputLine = (Roteador) in.readObject()) != null){
System.out.println("E esse alguém tem o nome: "+inputLine.getName()+"\nE a tabela: "+inputLine.getTabela().toString());
} else {
System.out.println("Bye bye!");
}
}
Suponha que eu crie 3 instâncias diferentes do mesmo código, cada instância com sua própria porta de servidor.
Se X envia para Y, Y recebe a conexão. Porém se Z enviar algo para Y, Y não irá reconhecer o pedido de conexão.
Achei que o problema podia estar em deixar o clientSocket.accept() fora do while(true), mas não mudou em nada depois que coloquei.
Agradeço a ajuda desde já,
Daniel.