@MisterPompo escreveu:
Olá pessoal, tudo bem?
Seguinte, estou fazendo um código em que o cliente manda uma solicitação e uma string para o servidor, assim que o servidor receber, ele lerá e enviará uma outra string para o cliente. O problema é que quando eu chamo o método (Objeto BufferedReader).readline no cliente para ler a mensagem do servidor, da um erro dizendo que a conexão Socket foi fechada. Está tudo ocorrendo perfeitamente com o servidor, o problema está só no cliente. Vou deixar o código do cliente e a mensagem de erro, o código do servidor é bem simples, por isso não vou deixa-lo aqui. Mas caso precisem, é só me avisar!
public class Cliente {
public static void main(String [] args) { Cliente clica = new Cliente(); clica.fazendoConexao(); } public void fazendoConexao() { String qeq = "Qualquer coisa"; try { System.out.println("Aguardando Conexão"); Socket sock = new Socket("127.0.0.1", 7000); System.out.println("Conectado"); PrintWriter escritor = new PrintWriter(sock.getOutputStream()); InputStreamReader input = new InputStreamReader(sock.getInputStream()); BufferedReader leitor = new BufferedReader(input); Cliente client = new Cliente(); client.enviador(escritor, qeq); client.receptor(leitor); sock.close(); } catch(Exception ex){ex.printStackTrace();} } public void enviador(PrintWriter writer, String qeq2) { writer.println(qeq2); writer.flush(); writer.close(); System.out.println("Enviado"); } public void receptor(BufferedReader reader) { try { String recebido = null; while (recebido == null) { recebido = reader.readLine(); System.out.println("lido"); } System.out.println(recebido); }catch(IOException ex) {ex.printStackTrace();} }
}
Aqui é o erro:
Mensagens: 9
Participantes: 4