web-dev-qa-db-ja.com

UNIXドメインソケットを直接公開する方法TCP

TCP経由で公開されるUNIXドメインソケット、たとえば/var/program/program.cmdが欲しいのですが、ポート12345で言ってみましょう。これもバックグラウンドでフルタイムで実行したいと思います。

これを行う最良の方法は何ですか?関連する場合、システムはUbuntu 12.04.2を実行しています。

また、提案されたソリューションでは、ドメインソケットが削除されて再作成されても存続しますか?

[〜#〜]編集[〜#〜]

受け入れられた回答の結果をinitスクリプトの形式で次に示します。 https://github.com/Wirehive/haproxy-remote

14
SimonJGreen

socatを使用して、UNIXソケットをTCPソケットとしてエクスポートできます。これを行うコマンドは次のとおりです。

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

これにより、プログラムの上記のUNIXソケットに接続するポート12345でリスニングするTCPソケットが作成されます。

削除の問題については、私自身はテストしていません。あなたはそれを確認し、それについて私たちに伝えることができます:)

注: socatがインストールされていない場合があります。次のように入力するだけです:apt-get install socatでインストールします。

18
Khaled