Detectar hangup soquete sem enviar ou receber?
Estou escrevendo um servidor TCP que pode levar 15 segundos ou mais para começar a gerar o corpo de uma resposta a determinadas solicitações. Alguns clientes gostam de fechar a conexão no final se a resposta demorar mais do que alguns segundos para ser concluíd
Desde que a geração da resposta consome muita CPU, prefiro interromper a tarefa no instante em que o cliente fecha a conexão. No momento, não descubro isso até enviar a primeira carga útil e receber vários erros de desligament
Como posso detectar que o ponto fechou a conexão sem enviar ou receber dados? Isso significa pararecv
que todos os dados permanecem no kernel, ousend
que nenhum dado é realmente transmitid