टीसीपी सॉकेट के माध्यम से एक सीरियल डिवाइस से कनेक्ट करें


2

मेरा सेटअप यह है:

  • सीरियल डिवाइस ttyUSB0 लैपटॉप A से जुड़ा है
  • सॉफ्टवेयर जो सुनने और लिखने के लिए टीसीपी सॉकेट खोलता है, वह भी लैपटॉप A (linux) पर चलता है

मेरा लक्ष्य टीसीपी से / से सीरियल डिवाइस ttyUSB0 / to के डेटा को पाइप करना है जो टीसीपी को सुनता और लिखता है।

मैं इसके लिए समाज का उपयोग करने की कोशिश कर रहा था। पसंद,

socat -d -d -d -d -x TCP-LISTEN:7757,reuseaddr,fork FILE:/dev/ttyUSB0,b9600,raw

लेकिन फिर, चूंकि सॉफ्टवेयर एक ही लैपटॉप पर चलता है, इसलिए यह रिमोट कनेक्शन नहीं है। सॉफ़्टवेयर पोर्ट 7757 पर सॉकेट नहीं खोल सकता है और "पहले से उपयोग में पता" के साथ विफल हो जाता है।

फिर मैं अपना लक्ष्य कैसे प्राप्त कर सकता हूं? यानी मेरा सॉफ्टवेयर जो कुछ पोर्ट पर सॉकेट खोलता है, किसी सॉफ्टवेयर के किसी भी संशोधन के बिना सीरियल डिवाइस को डेटा प्राप्त और भेज सकता है?


ऐसा लगता है कि आपका सॉफ़्टवेयर भी पोर्ट पर सुनने की कोशिश कर रहा है।
जेम्स रोथ

@JamesRoth यह है। यह सूची को लिखने और लिखने के लिए एक सॉकेट बनाने की कोशिश करता है। लेकिन यह तब तक नहीं हो सकता, जब तक कि उस पर समाज का कब्जा न हो। मेरे कार्य को पूरा करने के लिए क्या किया जाना चाहिए?
2

C के दृष्टिकोण से, एक सर्वर के रूप में कार्य करने वाला सोकेट सॉकेट (), बाइंड (), सुनो () और फिर स्वीकार () कहता है। क्लाइंट भी ऐसा नहीं कर सकता। इसे सॉकेट () कहते हैं, फिर कनेक्ट करें ()। मुझे लग रहा है कि दोनों कार्यक्रम सर्वर बनने का प्रयास कर रहे हैं। क्या आप हमें अपने सॉफ़्टवेयर के बारे में अधिक बता सकते हैं?
जेम्स रोथ

@JamesRoth यह बिल्कुल सही है। सॉफ्टवेयर सर्वरसेट को खोलता है और 7758 पोर्ट को सुनता है। सॉफ्टवेयर में क्लाइंट सॉकेट भी होता है, जो सर्वर (गुई) से जुड़ा होता है। मुझे नहीं पता था कि सोसाइटी सर्वर के रूप में भी काम करेगी। मुझे उम्मीद है कि SO stackoverflow.com/a/20122074/368264 के इस जवाब से मुझे अपनी समस्या का सामना करने में मदद मिलेगी। मैं 7 घंटे में जांच कर सकूंगा।
ओडी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.