boa tarde
estou tentando criar uma aplicação de servidor e cliente
ao conectar o servidor ele aguarda o cliente, mas ao rodar o cliente, ele da a exceção.
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at socket.cliente.Cliente.executar(Cliente.java:37)
at socket.cliente.ClienteTest.main(ClienteTest.java:10)
Minha intenção é fazer uma aplicação aonde o cliente recebe um menu, digita a opção e o servidor retorna um dado
as classes
Servidor
package socket.servidor;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import socket.propriedades.Propriedades;
public class Servidor {
private Propriedades propriedades;
private ServerSocket servidorSocket;
private Socket conexao;
private Integer porta;
private Integer maxUsuarios;
private BufferedReader entrada;
private BufferedWriter saida;
public Servidor() {
propriedades = new Propriedades();
this.porta = (Integer) propriedades.getValorPropriedades("porta");
this.maxUsuarios = (Integer) propriedades.getValorPropriedades("maxusers");
}
public void executar() {
try {
this.servidorSocket = new ServerSocket(porta, maxUsuarios);
this.conexao = servidorSocket.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Cliente
package socket.cliente;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import socket.controle.Controle;
import socket.propriedades.Propriedades;
public class Cliente {
private Propriedades propriedades;
private Socket cliente;
private String ip;
private Integer porta;
private BufferedReader entrada;
private BufferedWriter saida;
private Controle controle;
private String mensagem;
public Cliente() {
this.propriedades = new Propriedades();
this.ip = (String) propriedades.getValorPropriedades("ip");
this.porta = (Integer) propriedades.getValorPropriedades("porta");
}
public void executar() {
try {
mensagem = "";
conexao();
getStream();
while ((mensagem = entrada.readLine()) != null) {
controle.menuDeComodos();
saida.flush();
}
fecharConexão();
} catch (IOException e) {
e.printStackTrace();
}
}
private void fecharConexão() throws IOException {
saida.close();
entrada.close();
cliente.close();
}
private void conexao() throws UnknownHostException, IOException {
this.cliente = new Socket(ip, porta);
}
private void getStream() throws IOException {
this.entrada = new BufferedReader(new InputStreamReader(cliente.getInputStream()));
this.saida = new BufferedWriter(new OutputStreamWriter(cliente.getOutputStream()));
}
}
Como resolver isso…