Numero maximo de conexoes socket

2 respostas
F

Pessoal,

Bom como o titulo fala alguem sabe se existe um numero maximo de conexoes aceitas por socket?
Na realidade gostaria de saber como se da esse limite de conexao, se é pela propria implementacao do Java que tem algum limite ou se é pelo hardware onde ta rodando ou ainda pelo SO. Se existe esse limite eu tambem gostaria de saber a diferenca se for socket bloqueante vs nao bloqueante, Socket normal vs Socket NIO.

Qualquer material sobre o assunto é bem vindo.

]['s

2 Respostas

P

Primeiro, uma correção conceitual: Um socket de um protocolo com conexão (TCP,p.ex) representa uma conexão estabelecida ou um “SAP” (termo OSI) aguardando o estabelecimento de uma nova conexão (a.k.a. listen socket).

Neste sentido, a pergunta “número máximo de conexões aceitas por um socket” não faz sentido - a resposta é 1, sempre.

Mas acho que entendi o que vc. quer saber: Existe um número máximo de sockets que um programa Java pode abrir ?

A resposta é SIM. O valor depende da plataforma e não depende de se usar NIO ou não. Tb. o número total não é afetado pelo fato de usar o socket em modo blocante ou não - ao menos não de forma direta.

Quanto ao NIO, a principal diferença está na possibilidade de se tratar múltiplos sockets de forma eficiente sem haver necessidade de utilizar threads adicionais, o que, na prática, reflete-se em maior capacidade de atendimento de transações em uma mesma máquina.

vcsmetallica

De acordo com os sistemas operacionais de hoje, qual seria esses numeros?

Att

Criado 18 de setembro de 2006
Ultima resposta 24 de jan. de 2012
Respostas 2
Participantes 3