मेरे पास एक ऐसी प्रक्रिया है जो सुनती है IP:port
- वास्तव में यह स्पार्क स्ट्रीमिंग है जो एक सॉकेट से जुड़ती है। मुद्दा यह है कि मैं किसी भी तरह एक सर्वर बनाना चाहता हूं जो एक पोर्ट पर स्पार्क से कनेक्ट हो और डेटा दूसरे पोर्ट से इस सर्वर में स्ट्रीम हो।
उदाहरण के लिए, स्पार्क स्ट्रीमिंग उदाहरण netcat उपयोगिता (उदाहरण के लिए nc -lk 5005
) का उपयोग करता है । हालाँकि, मेरे पास एक और सेवा है जो आने वाले संदेशों को सुनती है और फिर एक संदेश भेजती है। इसलिए मुझे किसी प्रकार के सर्वर की आवश्यकता है जो सेवा ए के संदेशों को सुन सके और उन्हें स्पार्क करने के लिए पास कर सके।
मेरी सेवा ए, सॉकेट्स पर निर्भर करती है। और मेरी चिंगारी उपभोक्ता को सॉकेट पर निर्भर करती है।
यहाँ मैंने जो अब तक किया है वह पोर्ट से पोर्ट के लिए अग्रेषण है लेकिन यह काम नहीं करता है:
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