मेरे पास एक प्रदाता (ए) है जो आने वाले टीसीपी कनेक्शन के माध्यम से हमें डेटा भेजना चाहता है। दुर्भाग्य से खपत सेवा (बी) इनबाउंड टीसीपी कनेक्शन प्राप्त नहीं कर सकती है। इसके अलावा इसमें एक स्थिर आईपी नहीं है, एक और आवश्यकता है।
इसे हल करने का एक तरीका एक ऐसी सेवा होगी जो आने वाली टीसीपी ए पोर्ट को दूसरे टीसीपी पोर्ट बी से जोड़ती है, ताकि उपभोक्ता बी से एक आउटबाउंड बना सके।
यह एक अनोखी समस्या नहीं है [1] [२] , और समाज के साथ मैं जो चाहता हूँ, उसके बहुत करीब आ सकता हूँ:
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
(अधिगम योग्य)
क्या कमांड को समायोजित करने का एक तरीका है ताकि "परमिट" बन जाए और विफलताओं का प्रतिरोध हो?