着信TCP接続を介してデータを送信したいプロバイダー(A)があります。残念ながら、消費サービス(B)はインバウンドTCP接続を受信できません。また、別の要件である静的IPもありません。
これを解決する1つの方法は、コンシューマがBへのアウトバウンド接続を確立できるように、着信TCP Aポートを別のTCPポートBに接続するサービスです。
これは固有の問題ではありません[1] [2]、そしてsocatで私は私が望むものに非常に近いものを作ることができます:
socat -d -d -d -u TCP4-LISTEN:PORT-A,reuseaddr TCP4-LISTEN:PORT-B,reuseaddr
ただし、これには次の問題があります。
- Bが切断すると、再接続できません。を使用すると
TCP4-LISTEN:PORT-B,reuseaddr,fork
、接続できますが、データを受信しません。 - Aが接続を確立する前にBが接続できない(乗り越え可能)
- への接続は1つしか確立できません
PORT-B
(乗り越え可能)
コマンドが「永続的」になり、障害に耐性を持つようにコマンドを調整する方法はありますか?