Я использую netcat
в качестве моста между некоторыми службами и экземпляром искровой струи. Например, служба отправляет сообщение host:port
, которое слушает сетевая кошка, и тогда идея заключается в том, что искра может затем использовать это. Однако есть ли способ сделать сквозную передачу netcat, т. Е. Действовать как действительно простой сервер и буквально слушать и излучать.Может ли netcat работать на сквозном пути
ncat -lk localhost 5005
Это показывает, что я могу отправить свои сообщения с первой службы. Но я не получаю ничего от искры, которая слушает тот же хост: порт. Есть ли способ сделать эту работу?
Одно из предложений заключалось в том, чтобы использовать трубопровод с mkfifo backpipe
, однако проблема в том, что при запуске моего искрового экземпляра прослушивается 5006, но похоже, что эта связь не кажется живой. Мой сервис отправляется на 5005, а затем netcat должен транслировать его до 5006, но как я могу заставить службу на 5006 всегда присутствовать, чтобы мой экземпляр искры мог прослушать его?
mkfifo backpipe
nc -kl localhost 5005 0<backpipe | nc localhost 5006 1>backpipe
Я также попытался следующий для хорошей меры:
nc -klp 5005 -w 5 localhost 5006
Но вопрос всегда, что искра не может потреблять со следующей ошибкой:
Deregistered receiver for stream 0: Restarting receiver with delay 2000ms: Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused
Если имеющееся netpipes пакет с краном и шлангом может быть лучше матч, но с 'mkfifo' в стороны должен работать с 'netcat', как описано в [двунаправленном социальном функционале с nc] (http://superuser.com/questions/363688/bidirectional-socat-functionality-with-nc?newreg=5312edc53c59492a9b4b9b9ba1a4f725) – Dilettant
@Dilettant Я пробовал это и обновил вопрос. Благодарю. – disruptive