Aumentei o número de conexão do Linux;
Já coloquei o java iniciar como -server
E nada, já não sei mais o que eu faço.
Outra coisa, não estou manipulando nenhum arquivo.
Pelo Amor de Deus, alguem sabe o pq desses erros?
Att
ganondorfan
No seu código tem o método que utiliza o socket entretanto não tem o método que faz a conexão do mesmo.
O erro do tooMany deve ser porque você está abrindo muitos recursos e não está fechando eles.
vcsmetallica
Essa parte eu não entendi muito bem.
Att
ganondorfan
Você postou os erros, ok, porém este método que você postou, ele utiliza do socket para leitura (o que recebe como argumento), o mais provável é que este socket esteja fechado em algum momento da sua aplicação.
Posta o código que controla a abertura e o fechamento dele.
vcsmetallica
Ai é que “tá”!
Vou te explicar a situação:
Tenho que conectar no meu sistema mais de 5000 equipamentos de rastreamento de veiculos.
O problema é eu não posso fechar a conexao dos equipamentos, por motivo de gasto de envio e recebimento de informações, por que eles usam chips de telefonia e isso fica caro.
Eu pego o equipamento que conectou e armazeno o socket dele em um HashMap.
Quando eu uso o socket.isClosed() ele sempre me retorna false e quando eu uso o socket.isConnected() ele sempre me retorna true, Estou te falando isso pq eu tenho um equipamento de teste. Cara, ja cheguei a desligar o equipamento e os status que eu sitei acima não muda. Devo estar pecando nessa situação.
Att
E
entanglement
O uso de channels não ajuda a diminuir o número de sockets; ele ajuda a diminuir o número de threads necessárias para rodar um servidor.
Se você precisa aumentar o número de sockets no Linux, procure por “increase socket number Linux” na Internet.
vcsmetallica
entanglement:
O uso de channels não ajuda a diminuir o número de sockets; ele ajuda a diminuir o número de threads necessárias para rodar um servidor.
Se você precisa aumentar o número de sockets no Linux, procure por “increase socket number Linux” na Internet.
Essa maquina virtual do Linux esta em cima de um Windows 2003. Será que isso pode influenciar no numero de Conexoes?
Att
E
entanglement
Que eu saiba não. É melhor verificar se você está fechando adequadamente os sockets, quando suas conexões caem por algum motivo. Cada socket que você larga aberto gasta um descritor de arquivo e isso pode acabar dando problemas.
vcsmetallica
Mas eu modifiquei os arquivos para conectar 60000.
Não esta conectando nem 4020 equipamentos.
Att
vcsmetallica
Galera,
Eu estou fechando as conexoes, ja alterei as configurações de sistema operacional, ja fiz ate promessa e nada.
Por favor me ajudem.
Att
E
entanglement
vcsmetallica:
Galera,
Essa maquina virtual do Linux esta em cima de um Windows 2003. Será que isso pode influenciar no numero de Conexoes?
Att
Seria possível você testar o seu programa em uma máquina de verdade (não uma máquina virtual)? Vai que o software de máquinas virtuais que você está usando no Windows 2003 fique inspecionando as conexões e limitando artificialmente a quantidade de conexões para reforçar algum limite (por exemplo, “dependendo da licença o Windows 2003 que você tem só pode aceitar 4000 conexões” ou sei lá que coisa que pode ocorrer). Veja se é possível arranjar uma máquina qualquer, só para ver se é isso mesmo.