Dúvidas em relação a abrir 2 instancias ao mesmo tempo

6 respostas Resolvido
S

Bom estou com dúvida como eu conseguiria resolver esse problema
Abrir 2 .instancias do mesmo programa

abrindo 2 incstancias da mesma aplicação como eu conseguiria eliminar o processo de uma caso já esteja um aberto.

6 Respostas

Jonathan_Medeiros

Crie um método com um serverSocket apontando para uma porta qualquer padrão que você queira, sempre que houver a tentativa de iniciar uma nova instância apontando para a mesma porta do serverSocket ele vai falhar e você aborta o processo.

Exemplo:

private void blockMultiInstance() {
    try {
       serverSocket = new ServerSocket(9581);
    } catch(IOException ex) {
        JOptionPane.showMessageDialog(rootPane, "Software já está aberto!", "Atenção", JOptionPane.WARNING_MESSAGE);
        System.exit(0);
    }
}

Com um método assim bastaria fazer a chamada do mesmo dentro do construtor da sua classe principal da aplicação.

S

mas sempre vai ficar aparecendo uma msg do firewall não é?
tem como solucionar isso?

j-menezes

1.Na aplicação que ficará rodando, ela se encaminha de enviar abrir uma nova conexão com a aplicação a ser fechada.
2.Passará um parametro de fechamento
3.A aplicação a ser fechada, ao receber esse parametro, fecha todas as coisas importantes com consistência e termina a aplicação.

Jonathan_Medeiros

Que mensagem?
Isso que te passei não tem ligação nenhuma com firewall!

S

ha foi um engano meu , vlw mano funcionou, mt obrigado.

Jonathan_Medeiros
Solucao aceita

Marca o tópico como resolvido, isso ajuda outros usuários a chegarem na mesma solução!

Criado 19 de junho de 2019
Ultima resposta 19 de jun. de 2019
Respostas 6
Participantes 3