Galera, estou na graduação e preciso fazer um jogo de Adedonha com sockets em Java. Pra quem não sabe ou não conhece, Adedonha é aquele jogo onde sorteamos uma letra e precisamos preencher alguns campos(Ex: Nome, Lugar, Objeto) com essas letras. Sou novo em sockets e tô precisando de ajuda. O jogo só deve começar quando eu tiver 2 clientes conectados ao servidor.
Poderiam me dar uma ajuda ?
// Método main do meu servidor
public static void main(String[] args) throws IOException, ClassNotFoundException {
System.out.println("Aguardando conexao...");
ServerSocket s = new ServerSocket(60000);
while(true) {
Socket conexao = s.accept();
System.out.println("Cliente conectado!");
String letra = gerarLetra();
String letra_enviada = letra + "\n";
ObjectInputStream input = new ObjectInputStream(conexao.getInputStream());
DataOutputStream output = new DataOutputStream(conexao.getOutputStream());
output.writeBytes(letra_enviada);
output.flush();
Object object = input.readObject();
String[] respostas;
respostas = (String[])object;
}
}
}
//Meu Cliente
public class Cliente {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
Socket client = new Socket("localhost", 60000);
BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));
ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream());
String letra = input.readLine();
System.out.println("Letra sorteada: "+letra);
//ArrayList<String> respostas = new ArrayList<>();
String[] respostas = new String[3];
String nome, lugar, objeto;
System.out.print("Digite um nome com a letra "+letra+": ");
nome = sc.nextLine();
System.out.print("Digite um lugar com a letra "+letra+": ");
lugar = sc.nextLine();
System.out.print("Digite um objeto com a letra "+letra+": ");
objeto = sc.nextLine();
respostas[0] = (nome);
respostas[1] = (lugar);
respostas[2] = (objeto);
output.writeObject(respostas);
output.flush();
sc.close();
client.close();
}
}