सॉकेट फाइलें क्या हैं?


23

हाल ही में, मैंने tmux का उपयोग करना शुरू किया; मैं उस सॉफ़्टवेयर में जोड़ी प्रोग्रामिंग सुविधा का उपयोग करने की कोशिश कर रहा हूं। प्रक्रिया के दौरान एक सॉकेट फ़ाइल बनाई गई थी। मेरा सवाल है: सॉकेट फाइलें क्या हैं, मैं उन्हें उबंटू पर कैसे खोल सकता हूं और उनका उपयोग कैसे किया जाता है?

जवाबों:


34

सॉकेट एक विशेष फ़ाइल प्रकार है, जो टीसीपी / आईपी सॉकेट के समान है, जो फाइल सिस्टम के एक्सेस कंट्रोल द्वारा संरक्षित इंटर-प्रोसेस नेटवर्किंग प्रदान करता है।

उदाहरण के लिए, जब आप netcat के साथ एक टर्मिनल में एक सुनने वाला सॉकेट खोलते हैं:

nc -lU socket.sock

इसके बाद दूसरे टर्मिनल से डेटा भेजें:

echo mytext | nc -U socket.sock

पहले टर्मिनल पर माइटेक्स दिखाई देता है।

डिफ़ॉल्ट nc द्वारा एंड-ऑफ़-फ़ाइल वर्ण के बाद सुनना बंद हो जाता है।


मुझे लगता है कि n के साथ U विकल्प नहीं है, मुझे एक त्रुटि मिली है कि U विकल्प परिभाषित नहीं है। क्या socket.sockकोई फ़ाइल आपने पहले बनाई है? क्या आप tmux -S का उपयोग कर सकते हैं और उस सॉकेट पर डेटा भेजने के लिए सॉकेट के सिरों में से किसी एक से सॉकेट फ़ाइल डिस्क्रिप्टर (टिपिकल 3) का उपयोग कर सकते हैं?
ADoN

@aDoN स्थापित करें nc.openbsd, आपके पास है nc.traditional
Cuauhtli

18

एक यूनिक्स डोमेन सॉकेट एक द्विदिश पाइप है जो टीसीपी / आईपी सॉकेट के समान है। एक सर्वर क्लाइंट से कनेक्शन सुनता है और स्वीकार करता है, और फिर नए स्वीकृत कनेक्शन पर क्लाइंट के साथ संवाद कर सकता है। यूनिक्स डोमेन सॉकेट के बारे में विशेष बात यह है कि एक आईपी एड्रेस और पोर्ट नंबर होने के बजाय, उनके पते के रूप में एक फ़ाइल नाम है। इससे अन्य एप्लिकेशन को पता चलता है कि फ़ाइल खोलने और पढ़ने या लिखने के लिए नेटवर्किंग के बारे में कुछ भी नहीं पता है और डेटा को डिस्क के बजाय सर्वर पर भेजा जाता है।


क्या सरल और सुरुचिपूर्ण विचार है!
आयन जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.