UNIX etki alanı soketini doğrudan TCP üzerinden gösterme


14

Bir UNIX etki alanı soketine sahip olmak istiyorum, örneğin /var/program/program.cmd, örneğin TCP aracılığıyla açık, 12345 numaralı bağlantı noktasında diyelim. Bunun arka planda tam zamanlı çalışmasını da istiyorum.

Bunu yapmanın en iyi yolu nedir? İlgili ise sistem Ubuntu 12.04.2'yi çalıştırıyor.

Ayrıca önerilen çözüm ile çıkarılıp yeniden yaratılan alan soketi hayatta kalacak?

DÜZENLE

Kabul edilen yanıtın bir init betiği şeklinde sonucu şudur: https://github.com/Wirehive/haproxy-remote

Yanıtlar:


18

socatUnix soketinizi TCP soketi olarak dışa aktarmak için kullanabilirsiniz . İşte bunu yapmak için komut:

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

Bu, 12345 numaralı bağlantı noktasında programınızın belirtilen unix soketine bağlanacak TCP soketi dinleyecektir.

Silme sorunu için, bunu kendim test etmedim. Doğrulayabilir ve bize anlatabilirsiniz :)

Not: Yüklü socat bulamayabilirsiniz, sadece şunu yazmanız gerekir: apt-get install socatyüklemek için.


1
Her iletişimden sonra çıkmasına rağmen, hemen hemen işe yaradığı için teşekkürler. Çalma sonra ile iyi bir başarı yaşıyorum etrafında: socat TCP-LISTEN:12345,reuseaddr,fork,su=haproxy UNIX-CLIENT:/var/program/program.cmd. Tek soru arka planda nasıl çalıştıracağım?
SimonJGreen

@SimonJGreen: Bu, giriş gerektiren etkileşimli bir komut olmadığından, komutun sonuna eklemeyi deneyebilirsiniz &.
Khaled

Tamam öneri ile koştu ve bunu işlemek için bir init betiği yazdı. İşte ilgilenen herkesin sonucu! github.com/Wirehive/haproxy-remote
SimonJGreen

@alexandermensa özen göstermeye özen gösteriyor mu?
Eduardo Bezerra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.