Árvore de páginas

Implementar timeout de recebimento de requisição TCP com fragmentação de pacotes de rede, para evitar congelamentos em caso de requisição mal formada ou incompleta. 

SituaçãoRecebimento de uma requisição de operação pelo DBAccess, onde existem dados adicionais a serem enviados em multiplos pacotes de rede. 
OcorrênciaCaso uma conexão do DBAccess receba um pacote fragmentado, o loop de recebimento dos dados restantes não tem timeout. Caso a conexão cliente seja mantida aberta e congele, sem enviar os dados, ou seja finalizada de forma abrupta – ou a notificação do fechamento da conexão client-side não seja enviada pelo client da conexão tcp, ou nao chegue ao dbaccess server ( socket half-opened ) , o dbaccess permanece em um loop de recebimendo de dados até que o serviço seja baixado, ou o socket utilizado torne-se inválido. 
ImplementaçãoA recepção de dados fragmentados sai por timeout de 10 segundos, uma vez que ela deixe de receber os dados que estavam sendo enviados pelo cliente do dbaccess, mesmo que o socket esteja aberto do lado do dbaccess server. 
Informações adicionais
  • Referente à ocorrência: TPGW-1012