Estou concluindo meus estudos em cima da apostila FJ-11 da caelum e econtrei um problema na parte de sockets!
Ai vai o codigo:
public class Main {
public static void main(String[] args) throws IOException {
ServerSocket servidor = new ServerSocket(12341);
System.out.println("Porta 12341 aberta!");
System.out.println("Nova conexão com o cliente " +
cliente.getInetAddress().getHostAddress()
);
Scanner s = new Scanner(cliente.getInputStream());
while (s.hasNextLine()) {
System.out.println(s.nextLine());
}
s.close();
servidor.close();
cliente.close();
}
}
Simplesmente ele trava nessa atribuição:
Socket cliente = servidor.accept();
Não lança nenhuma exceção e não gera nenhum erro na compilação. Simplesmente fica parado! E tenho quase certeza disso, porque se tento executar o programa 2 vezes, ele lança uma exceção dizendo que a porta já está aberta, isto quer dizer que o programa nem chegou em
s.close();
servidor.close();
cliente.close();
Certo ??