अपने Mac पर, lsof के साथ सर्वर के लिसनिंग एड्रेस की जांच करें, फिर—यदि आवश्यक हो—उसी नेटवर्क पर मौजूद किसी अन्य डिवाइस से अपने Mac के Wi-Fi या Ethernet IP से कनेक्ट करने का प्रयास करें। 127.0.0.1 या ::1 जैसा लूपबैक एड्रेस केवल स्थानीय (local-only) होता है; 0.0.0.0 या :: जैसा वाइल्डकार्ड एड्रेस नेटवर्क इंटरफेस के माध्यम से कनेक्शन स्वीकार कर सकता है। सर्वर की पहुंच तय करने से पहले वास्तविक पते की पुष्टि करें और विशिष्ट पोर्ट का परीक्षण करें।

1. सर्वर का लिसनिंग एड्रेस ढूंढें

डेवलपमेंट सर्वर चालू रखते हुए, Terminal खोलें और यह कमांड चलाएं, जिसमें 8000 को इसके पोर्ट से बदलें:

lsof -nP -iTCP:8000 -sTCP:LISTEN

lsof नेटवर्क सॉकेट्स सहित खुली फ़ाइलों को सूचीबद्ध करता है; इसका TCP स्टेट फ़िल्टर लिसनर्स का चयन कर सकता है। -nP विकल्प पतों को संख्यात्मक (numeric) रखते हैं और पोर्ट नंबरों को सर्विस नामों के रूप में प्रदर्शित होने से रोकते हैं। Apple की lsof नियमावली

NAME कॉलम को देखें। 127.0.0.1:8000 (LISTEN) पर समाप्त होने वाला परिणाम IPv4 लूपबैक पते से बंधा (bound) होता है। localhost:8000 भी एक लूपबैक लिसनर को इंगित करता है, हालांकि प्रदर्शित नाम भिन्न हो सकता है। *:8000 दिखाने वाला परिणाम उस एड्रेस फ़ैमिली के लिए वाइल्डकार्ड लिसनर होता है। TYPE कॉलम भी जांचें: अलग-अलग IPv4 और IPv6 पंक्तियां मायने रख सकती हैं। ::1 IPv6 लूपबैक है; :: IPv6 वाइल्डकार्ड है। कुछ प्रणालियों पर, एक IPv6 वाइल्डकार्ड लिसनर IPv4 कनेक्शन भी स्वीकार कर सकता है, इसलिए केवल यह सूची ही उस विवरण को पूरी तरह तय नहीं कर सकती है।

यदि कमांड कुछ भी वापस नहीं करता है, तो जांचें कि सर्वर अभी भी चल रहा है, आपने इसके वर्तमान पोर्ट का उपयोग किया है, और यह TCP पर सुनता है। यह कमांड UDP लिसनर्स की जांच नहीं करता है। यदि lsof बिना उन्नत अनुमतियों (elevated permissions) के कोई परिणाम नहीं दिखाता है, तो इसे केवल तभी sudo के साथ फिर से चलाएं जब आपको किसी अन्य खाते के स्वामित्व वाली प्रक्रियाओं का निरीक्षण करने की आवश्यकता हो; macOS आपके लॉगिन पासवर्ड का अनुरोध कर सकता है।

2. पते को पहुंच योग्यता (reachability) के सुराग के रूप में पढ़ें

एक विशिष्ट लूपबैक पते से बंधा लिसनर उस लूपबैक इंटरफ़ेस पर आने वाले कनेक्शन स्वीकार करता है, न कि आपके Mac के LAN पते पर। वाइल्डकार्ड पते का अर्थ है कि सॉकेट लूपबैक तक सीमित नहीं है, इसलिए यह नेटवर्क इंटरफ़ेस के माध्यम से पहुंच योग्य हो सकता है। Apple लिसनिंग सॉकेट को ऐसे सॉकेट के रूप में वर्णित करता है जो आने वाले कनेक्शनों की प्रतीक्षा करता है। TCP-आधारित सर्वरों का Apple का अवलोकन

वाइल्डकार्ड इस बात का प्रमाण नहीं है कि कोई अन्य डिवाइस कनेक्ट हो सकता है। सर्वर को अभी भी उस पोर्ट पर चालू होना चाहिए; macOS फ़ायरवॉल सेटिंग्स, राउटर या Wi-Fi क्लाइंट आइसोलेशन, और अन्य नेटवर्क स्थितियां कनेक्शन को प्रभावित कर सकती हैं। इसके विपरीत, localhost का उपयोग करके Mac पर एक सफल ब्राउज़र परीक्षण केवल यह साबित करता है कि एक स्थानीय कनेक्शन काम करता है।

3. अपने नेटवर्क पर किसी अन्य डिवाइस से एक्सेस का परीक्षण करें

जिस नेटवर्क का आप परीक्षण करना चाहते हैं, उसके लिए Mac का पता ढूंढें। Wi-Fi के लिए, Apple Wi-Fi सेटिंग्स या Wi-Fi स्थिति मेनू में कनेक्शन का IP पता खोजने का विवरण देता है; सटीक नियंत्रण macOS संस्करण के अनुसार भिन्न हो सकते हैं। Apple की Wi-Fi सेटिंग्स गाइड

उसी LAN से जुड़े दूसरे डिवाइस से, एक ब्राउज़र खोलें या http://MAC-IP:8000 का अनुरोध करने के लिए HTTP क्लाइंट का उपयोग करें, जिसमें Mac के वर्तमान पते और सर्वर के पोर्ट को प्रतिस्थापित करें। उदाहरण के लिए, यदि Mac का LAN पता 192.168.1.23 है और पोर्ट 8000 है, तो http://192.168.1.23:8000 आज़माएं। एक प्रतिक्रिया यह दर्शाती है कि यह क्लाइंट उस रूट पर सेवा तक पहुंच गया है; कोई टाइमआउट या अस्वीकृति अपने आप में कारण की पहचान नहीं करती है। फ़ायरवॉल या नेटवर्क सेटिंग्स की जांच करने से पहले पुष्टि करें कि दोनों डिवाइस इच्छित नेटवर्क पर हैं और लिसनर की दोबारा जांच करें।

4. समर्थित होने पर स्थानीय-केवल बाइंड (local-only bind) को स्पष्ट करें

सही सेटिंग डेवलपमेंट सर्वर की होती है, सार्वभौमिक macOS स्विच की नहीं। उदाहरण के लिए, Python का http.server --bind का समर्थन करता है; इसके दस्तावेज़ीकरण में कहा गया है कि डिफ़ॉल्ट सभी इंटरफ़ेस से बाइंड होता है, जबकि यह कमांड IPv4 लूपबैक से बाइंड करता है:

python3 -m http.server --bind 127.0.0.1 8000

यह तब काम करता है जब Python 3 स्थापित हो। Python बाइंड विकल्प और इसके डिफ़ॉल्ट व्यवहार दोनों का दस्तावेज़ीकरण करता है। Python http.server दस्तावेज़ीकरण

अन्य उपकरण अपनी स्वयं की होस्ट या बाइंड सेटिंग्स प्रदर्शित करते हैं। Node.js दस्तावेज़ बताता है कि server.listen() से होस्ट को छोड़ना एक अनिर्दिष्ट पते का चयन करता है, जिसका व्यवहार IPv6 की उपलब्धता पर निर्भर करता है। अपने सर्वर और संस्करण के दस्तावेज़ीकरण की जांच करें; यह मान न लें कि किसी अन्य फ़्रेमवर्क का फ़्लैग यहां लागू होता है। Node.js net.Server दस्तावेज़ीकरण सेटिंग बदलने के बाद, सर्वर को पुनः आरंभ करें और lsof जांच दोहराएं। LAN परीक्षण तब उपयोगी होता है जब आपका इरादा एक्सेस साझा करने का हो, लेकिन LAN या वाइल्डकार्ड पते से बाइंड करने से डेवलपमेंट सेवा अन्य पहुंच योग्य डिवाइसों के लिए उजागर हो सकती है।

स्रोत