Como expor um soquete de domínio UNIX diretamente sobre TCP

10

Gostaria de ter um soquete de domínio UNIX, digamos /var/program/program.cmd por exemplo, exposto via TCP, digamos na porta 12345. Também gostaria que ele estivesse funcionando em tempo integral em segundo plano .

Qual é a melhor maneira de fazer isso? Se for relevante, o sistema está executando o Ubuntu 12.04.2.

Além disso, com a solução proposta, ela sobreviverá ao soquete do domínio que está sendo removido e recriado?

EDITAR

Aqui está o resultado da resposta aceita na forma de um script de inicialização: link

    
por SimonJGreen 23.06.2013 / 15:57

1 resposta

14

Você pode usar socat para exportar seu soquete unix como soquete TCP. Aqui está o comando para fazer isso:

socat TCP-LISTEN:12345 UNIX-CONNECT:/var/program/program.cmd

Isto criará a escuta do soquete TCP na porta 12345 que se conectará ao soquete unix mencionado do seu programa.

Para o problema de exclusão, eu mesmo não testei. Você pode verificar e nos informar sobre isso:)

Nota: Você pode não encontrar o socat instalado, você só precisa digitar: apt-get install socat para instalá-lo.

    
por 23.06.2013 / 16:21