私はプロセスを受信していますIP:port
。実際には、ソケットに接続されたスパークストリームです。問題は、あるポートでSparkに接続し、別のポートからデータをストリーミングするサーバーを何とか作成したいということです。
たとえば、Sparkストリーミングの例では、netcatユーティリティ(たとえばnc -lk 5005
)を使用します。ただし、着信メッセージを受信してエクスポートする別のサービスがあります。したがって、サービスAからのメッセージを受信し、それをSparkに転送できる一種のサーバーが必要です。
私のサービスAはソケットによって異なります。私のSpark消費者はソケットを使用しています。
ポートからポートに転送するためにこれまでに行ったことは次のとおりです。しかし、うまくいかないようです。
nc -X 4 -x 127.0.0.1:5005 localhost 5006
アイデアはサービスA:5005
- >ソケット - > 5006
- >スパークです。
これを行う正しい方法が見つからないようです。
一部の回答では、以下を提案しました。
socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006
私のスパークソケットレシーバーが接続されていないか、接続できないようです。エラーが発生します。Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused
ベストアンサー1
または、モードなしでnc
転送トラフィックのみを使用することはできません。nc
keep-alive
fork
代わりに別のツールを使用する必要がありますnc
(例:socat
または)。ncat
このコマンドはポートでリッスンし、5050
すべてをポートに転送します。2020
socat tcp-l:5050,fork,reuseaddr tcp:127.0.0.1:2020
ncat
もっと読む
Ncatは、コマンドラインからネットワーク経由でデータを読み書きできる機能豊富なネットワークユーティリティです。 NcatはNmapプロジェクト用に書かれており、歴史的なNetcatをはるかに改善して再実装しました。それ
ncat -l localhost 8080 --sh-exec "ncat example.org 80"
使用できる他のツールは次のとおりです。
- プロキシサーバー:(ダウンロードソースコードまたはbinファイル)
ポート1234でリッスンし、アドレス「1.1.1.1」のポート4567に転送します。
./proxy tcp -p ":1234" -T tcp -P "1.1.1.1:4567"
ポート1234でリッスンし、アドレス「1.1.1.1」のポート4567に転送します。源泉
./gost -L tcp://:1234/1.1.1.1:4567