들어오는 TCP 연결을 통해 데이터를 보내려는 공급자 (A)가 있습니다. 불행하게도 소비 서비스 (B)는 인바운드 TCP 연결을 수신 할 수 없습니다. 또한 고정 IP가 없으며 다른 요구 사항이 있습니다.
이를 해결하는 한 가지 방법은 들어오는 TCP A 포트를 다른 TCP 포트 B에 연결하여 소비자가 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는 연결할 수 없습니다 (추가 가능)
- 하나의 연결 만 설정 가능
PORT-B
(추가 가능)
"영구"되고 고장에 저항하도록 명령을 조정하는 방법이 있습니까?