Можно ли заставить netcat работать в сквозном режиме?

Я использую netcat в качестве моста между некоторыми службами и экземпляром потоковой передачи искры. Например, служба отправляет сообщение host:port, которое слушает net cat, а затем идея заключается в том, что spark может использовать это. Однако есть способ сделать netcat сквозным, то есть действовать как действительно простой сервер и буквально слушать и излучать.

ncat -lk localhost 5005

Это показывает, что я могу отправлять свои сообщения из моей первой службы. Но я ничего не получаю от spark, который слушает тот же хост: порт. Есть ли способ заставить это работать?

Одно из предложений состояло в том, чтобы использовать конвейер с mkfifo backpipe, однако теперь проблема заключается в том, что при запуске мой экземпляр spark прослушивает 5006, но кажется, что это соединение не работает. Моя служба отправляет на 5005, а затем netcat должен передать ее на 5006, но как мне сделать так, чтобы служба на 5006 всегда присутствовала, чтобы мой экземпляр spark мог ее прослушивать?

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

person disruptive    schedule 30.06.2016    source источник
comment
Если доступен пакет netpipes с краном и шлангом, он может подойти лучше, но с mkfifo под рукой он должен работать с netcat, как, например, описано в функции двунаправленного соката с nc   -  person Dilettant    schedule 30.06.2016
comment
@Dilettant Я попробовал это и обновил вопрос. Спасибо.   -  person disruptive    schedule 30.06.2016


Ответы (1)


Какую версию netcat вы используете? И какая операционная система? Если вы используете традиционный netcat (не BSD-один, используемый для примеров Spark), вы должны указать аргумент порта:

nc -lk -p 5005
person b9f516c9    schedule 03.07.2016