TCP: Endereço já em uso exceção - possíveis causas para a porta do cliente? NÃO EXAUSTÃO POR PORTA

2

problema estúpido. Eu recebo aqueles de um cliente conectando-se a um servidor. Infelizmente, a configuração é complicada, tornando a depuração complexa - e ficamos sem opções.

O ambiente: * Sistema cliente / servidor, ambos em execução na mesma máquina. O cliente é na verdade um serviço que faz alguma manipulação de banco de dados em horários específicos. * O cnonection vem de C # passando por OleDb para um driver JDBC EasySoft para um servidor JDBC personalizado que então hospeda lógica em C ++. Sim, compelx - mas o fornecedor de terceiros decidiu expor os mecanismos de extensão para o seu servidor através de uma interface JDBC. Não muito pode ser feito aqui;)

Sintoma: Em intervalos irregulares, obtemos um "Endereço já em uso: conectar" informado do driver JDBC. Eles parecem vir de um serviço específico que administramos.

Agora, li todas as informações sobre esgotamento de portas. É por isso que temos uma pequena ferramenta rodando agora que conta as portas e seus estados a cada minuto. Na última vez que isso aconteceu, nós tínhamos 370 portas em uso, com a contagem subindo para cerca de 900 APÓS o erro. Nós aleady remendamos o registro (é uma máquina Windows) para permitir mais do que o padrão de 5.000 clientes, mas mesmo assim, estamos muito longe desse limite para começar.

É por isso que estou perguntando aqui. Ayneone an ide que ELSE poderia causar isso?

É uma máquina com Windows 2003 Server de 64 bits. A única outra coisa que posso ver que pode causar isso (mas essa funcionalidade está supostamente desabilitada) é o Symantec Endpoint Protection instalado no servidor - e sendo capaz de agir como um firewall, ele possivelmente poderia interceptar o tráfego de rede. Eu não quero abrir uma lata de worms, apontando para a Symantec prematuramente (se apontar para a Symantec pode ser visto como tal). Então, alguém tem uma idéia do que mais pode ser a causa?

Obrigado

    
por TomTom 08.03.2010 / 10:16

1 resposta

1

Três coisas se destacam:

to a custom written JDBC server

e

Symantec Endpoint Protection

e

Client/Server system, both running on the same machine

Pergunta 1: Como o servidor está escolhendo as portas? Pode ser que o cliente e o servidor (que estão na mesma máquina) sejam sincronizados em intervalos irregulares e escolham a mesma porta?

Pergunta 2: Já tentou desligar o SEP? Se não desligá-lo e ver o que acontece. Você precisa eliminar a possibilidade de estar interferindo.

Pergunta 3: O que netstat diz durante o tempo dos erros?

    
por 08.03.2010 / 18:07