Bom dia
Tenho os 2 classes abaixo:
public class SocketCliente {
public static void main(String[] args) {
try {
//conecta no servidor
Socket client = new Socket("192.168.0.119", 3500);
//Cria um canal para receber dados
DataInputStream in = new DataInputStream(client.getInputStream());
//Cria um canal para enviar dados
DataOutputStream out = new DataOutputStream(client.getOutputStream());
//Realiza comunicação com o servidor
out.writeInt(3); //envia Int 3
out.writeUTF("Oi mundo"); // Envia String Oi mundo
int k = in.readInt(); // aguarda receber um inteiro
String b = in.readUTF(); //aguarda receber uma string
//Fecha os fluxos
in.close();
out.close();
//System.out.println(k + b);
//Fecha o socket
client.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class SocketServer {
public static void main(String[] args) {
try {
//Cria socket na porta 3500
ServerSocket serverSocket = new ServerSocket(3500);
//O metodo accept retorna um socket para comunicação com o proximo cliente a conectar
//A execução bloqueia até que algum cliente conecte
Socket socket = serverSocket.accept();
//Cria canal para receber dados
DataInputStream in = new DataInputStream(socket.getInputStream());
//Cria um canal para enviar dados
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
//Aguarda receber int e uma String
int k = in.readInt();
String x = in.readUTF();
//Envia string e int
out.writeUTF("Recebi e fiquei maroto :D");
out.writeInt(10);
//Fecha In e Out
in.close();
out.close();
//Fecha o socket do cliente
socket.close();
//Fecha o socket do server
serverSocket.close();
//System.out.println(k + x + "recebi do client");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Eu primeiro rodo a server e ela fica lá esperando receber a conexão e quando eu rodo a client, ela não teria que imprimir o que a ‘server’ mandou pra ela?
Eu recebo o erro de vc:
A linha 26 é a que está esperando para ler um inteiro vindo do client, não to conseguindo descobrir o que está errado no meu código, alguém pode me ajudar?
[]'s