Duvidas Sockets

“Moçada, boa tarde”

Estou fazendo uma aplicação simples sobre sockets em java. Crie a classe de servidor. Instancio ela, blz, o servidor inicia. É uma aplicação de soma, onde o cliente requisita a soma enviando valores para o servidor, e este, faz a soma e devolve o resultado para o cliente. O servidor iniciado blz. Agora quando inicio a requisição do cliente, o servidor não reconhece nem a conexão entre ambos. Não aparece a mensagem na console do netbeans : Exemplo: Cliente ***** online.

SE alguem souber oq estou fazendo de errado, por gentileza, me ajudem por favor.

Seguem os códigos:

 //Classe TipoComando.Java

public enum TipoComando {
    SOMA2,
    SAIR
}
 //Classe Comando.Java

public class Comando implements Serializable{
    private TipoComando tipo;
    private double[] parametros;

    public Comando(TipoComando tipo, double[] params){
        this.tipo = tipo;
        if(params != null)
            this.parametros = params;
    }

    public double[] getParametros(){
        return this.parametros;
    }

    public void setParametros(double[] params){
        this.parametros = params;
    }

    public TipoComando getTipo(){
        return this.tipo;
    }

    public void setTipo(TipoComando tipo){
        this.tipo = tipo;
    }
}
 //Classe Servidor.Java

public class Servidor {
    private ServerSocket server;
    private ObjectOutputStream saida;
    private ObjectInputStream entrada;

    public Servidor(int porta) throws IOException{
        this.server = new ServerSocket(porta);
        System.out.println("Servidor Online na porta " + porta);
    }

    public Comando receberComando() throws IOException, ClassNotFoundException{
        return (Comando) entrada.readObject();
    }

    public void enviarComando(Comando cmd) throws IOException{
        saida.writeObject(cmd);
    }

    public void soma2(Comando c) throws IOException{
        double[] parametros = c.getParametros();
        double v1 = parametros[0];
        double v2 = parametros[1];
        double soma = v1 + v2;
        double[] resultado = new double[1];
        resultado[0] = soma;
        Comando cmd = new Comando(TipoComando.SOMA2, resultado);
        this.enviarComando(cmd);
    }

    public void sair() throws IOException{
        Comando cmd = new Comando(TipoComando.SAIR, null);
        this.enviarComando(cmd);
    }

    public void inicializarServidor() throws IOException, ClassNotFoundException{
        while(true)
        {
            Socket cliente = server.accept();
            this.entrada = new ObjectInputStream(cliente.getInputStream());
            this.saida = new ObjectOutputStream(cliente.getOutputStream());
            System.out.println("Nova Conexão: " + cliente.getInetAddress());

            Comando c = null;
            mainLoop:
                while((c = this.receberComando()) != null)
                {
                    switch(c.getTipo())
                    {
                        case SOMA2:
                        {
                            this.soma2(c);
                            
                        }
                        case SAIR:
                        {
                            this.sair();
                            break mainLoop;
                        }
                    }
                }
                entrada.close();
                saida.close();
                cliente.close();

        }
    }

    public static Servidor criarServidor(int porta) throws IOException{
        return new Servidor(porta);
    }

    public static void main(String[] args) throws IOException, ClassNotFoundException{
        Servidor.criarServidor(25000).inicializarServidor();
    }
}
 //Classe Cliente.Java

public class Cliente {
    private Socket socketCliente;
    private ObjectInputStream entrada;
    private ObjectOutputStream saida;

    public Cliente(String host, int porta) throws UnknownHostException, IOException{
        this.socketCliente = new Socket(host, porta);
        this.entrada = new ObjectInputStream(socketCliente.getInputStream());
        this.saida = new ObjectOutputStream(socketCliente.getOutputStream());
    }

    public Comando receberComando() throws IOException, ClassNotFoundException{
        return (Comando) entrada.readObject();
    }

    public void enviarComando(Comando c) throws IOException{
        this.saida.writeObject(c);
    }
}
 //Classe Main.Java

public class Main {
    public static void main(String[] args) throws IOException, ClassNotFoundException{
        
        Cliente cliente = new Cliente("127.0.0.1", 25000);
        double[] valores = {1,3};
        Comando cmd = new Comando(TipoComando.SOMA2, valores);
        cliente.enviarComando(cmd);
        Comando rcmd = cliente.receberComando();
        System.out.println(rcmd.getTipo());
        System.out.println(rcmd.getParametros()[0]);
        cmd = new Comando(TipoComando.SAIR, null);
        cliente.enviarComando(cmd);
        rcmd = cliente.receberComando();
        System.out.println(rcmd.getTipo());

    }
}

Lembrando que primeiro inicia-se a Instancia de Servidor, depois de de Cliente(Main.Java)

Desde já, agradeco! XD