Boa noite galera.
É o seguinte, criei uma classe Remota onde inicio servidor e conecto cliente(no caso sou servidor e cliente).
Gostaria de enviar uma String golpe, para que receba via socket tcp e dps trate ela.
Iniciando servidor e cliente:
public Socket iniciarCliente() {
Socket socket = null;
try {
socket = new Socket(ip, porta);
System.out.println("Cliente conectado");
} catch (UnknownHostException ex) {
} catch (IOException ex) {
}
return socket;
}
public Socket iniciarServidor() {
ServerSocket socket = null;
try {
socket = new ServerSocket(porta);
System.out.println("Servidor criado");
return socket.accept();
} catch (UnknownHostException ex) {
} catch (IOException ex) {
}
return null;
}
Metodos para enviar e receber.
public void enviar(String golpe) throws IOException{
saidaserv.println(golpe);
}
public String receber() throws IOException {
return entradacliente.readUTF();
}
Agora tenho 2 threads onde uma é para enviar a string e outra para receber a string.
Recebe:
public void run() {
while(true){
try {
x = r.receber();
System.out.println("recebido"+x);
verificaTipoPersonagem(x,personagem);
Dano(x,personagem,dano);
receberDano(dano,vida);
} catch (IOException e) {
e.printStackTrace();
}
}
}
ENVIA:
public void run() {
while(true){
System.out.println("Digite um golpe");
golpe = s.nextLine();
Golpe(golpe, personagem,golpeanterior);
try {
r.enviar(golpe);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Só que to vendo que não ta funcionando… eu estou apenas enviado, não estou conseguindo receber e assim tratar a string.
Gostaria de uma ajuda.
Grata.