如何直接通过TCP公开一个UNIX域套接字

我想有一个UNIX域套接字,例如说/var/program/program.cmd,通过TCP公开,可以说在端口12345.我也想这是全职在后台运行。

什么是最好的方法来做到这一点? 如果其相关的系统运行Ubuntu 12.04.2。

此外,提出的解决scheme,它将存活的域套接字被删除和重新创build?

编辑

以下是以脚本forms接受的答案的结果: https : //github.com/Wirehive/haproxy-remote

您可以使用socat将您的unix套接字导出为TCP套接字。 这是这样做的命令:

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

这将创buildTCP套接字侦听端口12345将连接到您的程序提到的unix套接字。

对于删除问题,我没有自己testing。 你可以validation它,并告诉我们关于它:)

注意:你可能找不到socat,你只需要input: apt-get install socat来安装它。