पर मशीन का लैन आईपी पता प्राप्त करना तो मैं प्रोग्राम के चल रहे मशीन के लैन आईपी पते को प्राप्त करने की कोशिश कर रहा हूं और इसकी तुलना यूडीपी के माध्यम से आईपी पते पर की गई है।पायथन Ubuntu
हालांकि मैं जब का उपयोग करें:
print str(socket.gethostbyname(socket.gethostname()))
यह 127.0.0.1 जो 192.168.1.9 होना चाहिए देता है।
मैंने लिनक्स मशीन को देखा है और इसे लो (लूपबैक) पोर्ट का आईपी पता मिल रहा है? मुझे नहीं पता कि यह वास्तव में क्या है लेकिन इसे eth0 का आईपी पता मिलना चाहिए।
मुझे पता चला है कि मैं बैश कमांड "ifconfig eth0" subprocess कर सकता हूं लेकिन यह एक स्ट्रिंग का एक बड़ा ब्लॉक देता है। मैं इसे अपनी आवश्यकता के अनुसार संसाधित कर सकता हूं, लेकिन यह एक बीगलबोन पर एक सेकंड में लगभग 3 गुना चल रहा है, इसलिए मैं इसे थोड़ा और अधिक प्रभावशाली बनाना चाहता हूं।
क्या ऐसा करने का एक और शानदार तरीका है?
क्या मैं सिर्फ gethostname का लक्ष्य बदल सकता हूं?
यह लो पोर्ट को लक्षित क्यों कर रहा है?
आपकी सहायता प्रबंधकों के लिए धन्यवाद।
यदि कोई ऐसा करने का प्रयास कर रहा है और उनके पास एक ऐसा सर्वर है जिसके पास हमेशा इंटरनेट का उपयोग होगा, तो http://code.activestate.com/recipes/439094-get-the-ip-address-associated-with-a -नेटवर्क-इंटर/जिस तरह से इस मुद्दे को हल किया गया है। लेकिन मेरे सर्वर में हमेशा इंटरनेट नहीं होगा, इसलिए मैं इसका उपयोग नहीं कर सकता। – Poodimizer