Temos um servidor dedicado que funciona bem e aceita conexões de entrada. Ele também recebe e envia dados normalmente.
Funciona muito bem por algumas horas, mas depois disso todas as conexões aceitas expiram automaticamente logo após o soquete ser aceito.
Quanto mais soquetes ele aceitar, mais rápido ele entrará em um estado em que todas as novas conexões terão tempo limite esgotado.
O problema não é do cliente e nem é realmente pelo tempo que definimos em timeout, porque ele só acontece depois da aceitação na função read().
Quando reiniciamos o servidor, tudo começa a funcionar bem novamente.
Acredito que o Linux esteja causando esse problema. Não conheço bem o Linux, sei que há configurações no Linux que estão limitando meu processo.
Alguém pode sugerir material para leitura sobre configurações Linux para sockets TCP?
obrigado