I do not have experience with Java, so once again I go to the Stack to help me, I have a basic code from a server that receives a message from a client via socket and the client's code, I need to modify both, to accept connections of more customers.
/**
* Classe Servidor - responsável por criar a conexão e receber as conexões dos clientes.
* Exibe a informação enviada pelo cliente.
*/
import java.io.IOException;
import java.net.*;
import java.util.Scanner;
public class Servidor {
public static void main(String[] args) throws IOException{
//Cria um socket na porta 12345
ServerSocket servidor = new ServerSocket (12345);
System.out.println("Porta 12345 aberta!");
// Aguarda alguém se conectar. A execução do servidor
// fica bloqueada na chamada do método accept da classe
// ServerSocket. Quando alguém se conectar ao servidor, o
// método desbloqueia e retorna com um objeto da classe
// Socket, que é uma porta da comunicação.
System.out.print("Aguardando conexão do cliente...");
System.out.println("Nova conexao com o cliente " + cliente.getInetAddress().getHostAddress());
//Recebe a mensagem enviada pelo cliente
Scanner s = new Scanner(cliente.getInputStream());
//Exibe mensagem no console
while(s.hasNextLine())
{
System.out.println(s.nextLine());
}
//Finaliza objetos
s.close();
cliente.close();
servidor.close();
System.out.println("Fim do Servidor!");
}
}
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Cliente extends thread{
public static void main(String args[]) throws UnknownHostException, IOException
{
// para se conectar ao servidor, cria-se objeto Socket.
// O primeiro parâmetro é o IP ou endereço da máquina que
// se quer conectar e o segundo é a porta da aplicação.
// Neste caso, usa-se o IP da máquina local (127.0.0.1)
// e a porta da aplicação ServidorDeEco (12345).
Socket cliente = new Socket("127.0.0.1", 12345);
System.out.println("O cliente conectou ao servidor");
//Prepara para leitura do teclado
Scanner teclado = new Scanner(System.in);
//Cria objeto para enviar a mensagem ao servidor
PrintStream saida = new PrintStream(cliente.getOutputStream());
//Envia mensagem ao servidor
while(teclado.hasNextLine())
{
saida.println(teclado.nextLine());
}
saida.close();
teclado.close();
cliente.close();
System.out.println("Fim do cliente!");
}
}
Could anyone give me an idea? I'm really lost with these exercises.