Pergunta

Quero criar um único cliente que emite solicitações unicast de dados de qualquer uma das muitas estações de trabalho na mesma LAN. O cliente provavelmente executará o Linux, mas as estações de trabalho podem executar qualquer sistema operacional. É possível evitar a execução de um daemon em cada uma das estações de trabalho e, no entanto, respondê -las às solicitações dentro de alguns segundos? Quero evitar criar um daemon porque o serviço pode ser usado com pouca frequência e não quero sobrecarregar as estações de trabalho com outro processo.

Foi útil?

Solução

Dê uma olhada nas implementações adequadas de inetd para o seu sistema operacional de destino. Este serviço ouve as conexões e delega a comunicação real para esclarecer o IO através do stdin/stdout para uma instância do seu processo (que é gerado sob demanda):

O utilitário inetd [..] ouve conexões em certos soquetes da Internet. Quando uma conexão é encontrada em um de seus soquetes, ele decide qual serviço o soquete corresponde e chama um programa para atender a solicitação. O programa do servidor é chamado com o soquete de serviço como seus descritores de entrada, saída e erro padrão. Após o término do programa, o Inetd continua ouvindo no soquete [..

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top