मैं अपने एंड्रॉइड डिवाइस से अपने लोकलहोस्ट को कैसे एक्सेस कर सकता हूं?


542

मैं एंड्रॉइड एमुलेटर का उपयोग करके अपने लैपटॉप वेब सर्वर तक पहुंचने में सक्षम हूं, मैं 10.0.2.2:portno अच्छी तरह से काम कर रहा हूं ।

लेकिन जब मैं अपना असली एंड्रॉइड फोन कनेक्ट करता हूं, तो फोन ब्राउज़र मेरे लैपटॉप पर उसी वेब सर्वर से कनेक्ट नहीं हो सकता। फोन यूएसबी केबल का उपयोग करके लैपटॉप से ​​जुड़ा हुआ है। अगर मैं adb devices कमांड चलाता हूं, तो मैं अपना फोन देख सकता हूं।

मैं क्या खो रहा हूँ?



यहाँ प्रलेखन देखें: developer.android.com/tools/devices/…
हेनरी एलोनी

3
अपने वेबपृष्ठ का परीक्षण करते समय फ़ायरवॉल बंद करें या फ़ायरवॉल सेटिंग्स में अपने आईपी को विश्वसनीय नेटवर्क में जोड़ें।
ज़ेइली

एक अन्य विकल्प: stackoverflow.com/questions/35650343/…
statosdotcom

एनकाउंटर के साथ सोपर ईज़
जॉनपोइजेंड

जवाबों:


401

USB मोबाइल डिवाइस को नेटवर्क प्रदान नहीं करता है।

यदि आपका डेस्कटॉप और फोन दोनों एक ही वाईफाई (या किसी अन्य स्थानीय नेटवर्क) से जुड़े हैं, तो राउटर द्वारा निर्दिष्ट अपने डेस्कटॉप आईपी पते का उपयोग करें (नहीं localhostऔर नहीं 127.0.0.1)।

अपने डेस्कटॉप का IP पता जानने के लिए:

  • कमांड लाइन में टाइप करें ipconfig(विंडोज) या ifconfig(यूनिक्स)
    • लिनक्स पर वन-लाइनर ifconfig | grep "inet " | grep -v 127.0.0.1केवल महत्वपूर्ण सामान देगा
    • Windows पर समान आउटपुट के लिए सुझावों का एक समूह है
  • वहाँ आईपी का एक गुच्छा होने जा रहा है
  • (forementioned को छोड़कर उन सभी की कोशिश localhostऔर 127.0.0.1)

अगर आपका फोन मोबाइल नेटवर्क से जुड़ा है , तो चीजें कठिन होने वाली हैं।

या तो कट्टर जाओ:

  • सबसे पहले अपने राउटर बाहरी आईपी पते ( https://www.google.de/search?q=myip) का पता लगाएं ) देखें
  • फिर, राउटर पर, कुछ पोर्ट को अग्रेषित करें <your desktop IP>:<server port number>
  • अंत में बाहरी आईपी पते और अग्रेषित पोर्ट का उपयोग करें

अन्यथा xip.io या ngrok जैसी किसी चीज़ का उपयोग करें

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

ip address

उपरोक्त IP कमांड को संक्षिप्त किया जा सकता है:

ip a

यदि आप अभी भी ifconfigअपने दैनिक sys व्यवस्थापक दिनचर्या के हिस्से के रूप में उपयोग करना पसंद करते हैं , तो आप इसे net-toolsपैकेज के भाग के रूप में आसानी से स्थापित कर सकते हैं ।

apt-get install net-tools

संदर्भ यहाँ है


धन्यवाद, यह मेरे लिए बहुत मदद के लिए था। मेरे लिए मुद्दा यह था कि मुझे नहीं पता था कि स्थानीय अपाचे सर्वर को आईपी 10.0.2.2 के माध्यम से संबोधित किया जा सकता है। ... मैं बहुत से अन्य आईपी-एड्रेस की कोशिश करता हूं, जैसे कि एक शो ipconfig इत्यादि लेकिन फिर से, बहुत बहुत धन्यवाद!
विदर्भ सेन्स

4
मैं इस समस्या के समाधान को नहीं समझता। क्या आप मेरी मदद कर सकते हैं कि मेरा टेलीफोन मेरे सर्वर तक कैसे पहुंच सकता है? मुझे आशा है कि आप इस समाधान को मुझसे दूर करेंगे। धन्यवाद।
iremce

1
मेरी टिप्पणी नीचे पढ़ें .. आपके पास इंटरनेट एक्सेस की अनुमति भी होनी चाहिए। <उपयोग-अनुमति एंड्रॉइड: नाम = "android.permission.INTERNET" />
संजय कुमार

3
@ सिमो अपने राउटर होमपेज पर जाएं, XFinity के लिए 10.0.0.1, आमतौर पर 192.168.1.1 हालांकि और लॉग इन करें, कनेक्टेड डिवाइसेस या लोकल आईपी के लिए देखें, अपना कंप्यूटर और बेम ढूंढें। मेरा 10.0.0 # था, फिर बस [10.0.0। # :( पोर्ट) / सर्वर / सर्वलेट] या जो कुछ भी जोड़ें
jp093121

2
यह इस प्रश्न का स्वीकृत उत्तर नहीं होना चाहिए। क्रोम devtools और adb रिवर्स में पोर्ट अग्रेषण एक यूएसबी केबल के साथ पूरी तरह से ठीक काम करता है।
रोजर मैडसेन

228

यह वास्तव में काफी सरल है।

  • अपने एंड्रॉइड फोन / राउटर के वाईफाई हॉटस्पॉट को चालू करें और अपने लैपटॉप को अपने फोन से कनेक्ट करें
  • अपना सर्वर शुरू करें localhost(मैं विंडोज के लिए WAMP सर्वर का उपयोग कर रहा हूं)
  • अब कमांड प्रॉम्प्ट को खोलें और एंटर करें
ipconfig

एक बार जब आप ऐसा कर लेते हैं, तो आपको निम्न जैसा कुछ दिखाई देगा:

वायरलेस लैन एडाप्टर वायरलेस नेटवर्क कनेक्शन:
  कनेक्शन-विशिष्ट DNS प्रत्यय। :
  लिंक-स्थानीय IPv6 पता। । । । । : fe80 :: 80bc: e378: 19ab: e448% 11
  IPv4 पता। । । । । । । । । । । : 192.168.43.76
  सबनेट मास्क । । । । । । । । । । । : 255.255.255.0
  डिफ़ॉल्ट गेटवे । । । । । । । । । : 192.168.43.1
  • IPv4 एड्रेस कॉपी करें (इस मामले में, यह है 192.168.43.76)
  • अपने मोबाइल ब्राउज़र में, बस IPv4 एड्रेस पेस्ट करें

नोट: कृपया अपने नेटवर्क को " होम नेटवर्क " के रूप में सेट करें । नेटवर्क को होम नेटवर्क के रूप में सेट करने का अर्थ है कि आप अपने पीसी को उसी नेटवर्क पर अन्य उपकरणों के साथ सामान साझा करने की अनुमति दे रहे हैं।

यदि आप विंडोज 10 का उपयोग कर रहे हैं, तो यह निम्नलिखित के साथ किया जा सकता है:

  • सेटिंग्स खोलें
  • नेटवर्क और इंटरनेट पर जाएं
  • बाएं मेनू में वाईफाई का चयन करें
  • कनेक्टेड वाईफाई के नाम पर टैप करें
  • नेटवर्क के नेटवर्क प्रोफाइल को निजी बनाएं

यदि आपको कोई समस्या हो रही है, तो यह विंडोज फ़ायरवॉल के साथ करने की सबसे अधिक संभावना है।

  • नियंत्रण कक्ष खोलें
  • विंडोज डिफेंडर फ़ायरवॉल पर जाएं
  • विंडोज डिफेंडर फ़ायरवॉल के माध्यम से एक ऐप या सुविधा की अनुमति दें पर टैप करें
  • जांचें कि क्या एप्लिकेशन निजी नेटवर्क के लिए सक्षम है (कोई टिक होना चाहिए)
  • यदि यह सक्षम नहीं है , तो सेटिंग बदलें और ऐप के लिए निजी के तहत चेकबॉक्स पर टिक करें

30
एचएम ने ऐसा किया, लेकिन लगता है कि ब्राउज़र हमेशा लोड करने के लिए ले जाता है तो यह मुझे एक उफ़ देता है? क्या मुझसे कुछ गलत हो रही है? और आपका क्या मतलब है होम नेटवर्क
सिंह 89 do '

12
कृपया याद रखें कि कंप्यूटर में फ़ायरवॉल को बंद कर दें।
मिन्ह गुयेन

2
हाँ, फ़ायरवॉल बंद करने से मदद मिली। धन्यवाद।
बेवमो

2
* होम नेटवर्क यह है: (होम नेटवर्क का मतलब है कि आपका कंप्यूटर मुझे उसी नेटवर्क के उपकरणों के साथ सामान साझा करने की अनुमति देता है।
लीप हॉक

6
"विंडोज डिफेंडर फ़ायरवॉल के माध्यम से एक ऐप या फ़ीचर की अनुमति दें पर टैप करें कि क्या निजी नेटवर्क के लिए ऐप सक्षम है (कोई टिक होना चाहिए)" आपका क्या मतलब है?
लिज़ लम्पेरॉउज

71

मैक ओएस एक्स उपयोगकर्ताओं

मैंने इसे दूरस्थ प्रबंधन को सक्षम करके हासिल किया :

  • सुनिश्चित करें कि आपका फोन और लैपटॉप एक ही वाईफाई नेटवर्क से जुड़े हैं
  • मैक पर, पर जाएं System preferences/sharing
  • दूरस्थ प्रबंधन सक्षम करें

आपको इसके समान एक संदेश दिखाई देगा:

  • अन्य उपयोगकर्ता पते का उपयोग करके आपके कंप्यूटर का प्रबंधन कर सकते हैं some.url.com

अपने एंड्रॉइड डिवाइस पर, अब आपको उस पर जाने में सक्षम होना चाहिए some.url.com, जो localhostआपके मैक पर डेलिगेट करता है । आप ifconfigअपने मैक का आईपी पता प्राप्त करने के लिए भी उपयोग कर सकते हैं ।


के साथ पोर्टेबल समाधान ngrok(Node.js के साथ किसी भी ओएस)

यदि आप एक अस्थायी डोमेन के साथ अपनी परियोजना को उजागर करने में कोई आपत्ति नहीं करते हैं, तो आप इसका उपयोग कर सकते हैं ngrok। आइए कहते हैं कि मेरे पास एक ऐप है जो localhost:9460मैं केवल लिख सकता हूं

npm install ngrok -g

ngrok http 9460

यह मुझे देगा:

सत्र की स्थिति ऑनलाइन
अद्यतन उपलब्ध अद्यतन (संस्करण 2.2.8, अपडेट करने के लिए Ctrl-U)
संस्करण 2.2.3
क्षेत्र संयुक्त राज्य अमेरिका (हमें)
वेब इंटरफेस http://127.0.0.1:4040
फॉरवर्डिंग http://f7c23d14.ngrok.io -> लोकलहोस्ट: 9460
अग्रेषण https://f7c23d14.ngrok.io -> लोकलहोस्ट: 9460

कनेक्शन ttl opn rt1 rt5 p50 p90
                              0 0 0.00 0.00 0.00 0.00

अब मैं https://f7c23d14.ngrok.ioदूर से देखने के तरीके के रूप में पहुंच सकता हूं localhost। यह डिजाइन काम या प्रगति को ग्राहकों के साथ साझा करने के लिए बहुत अच्छा है।


nginxप्रॉक्सी पास के साथ वैकल्पिक समाधान

यदि आप इसके माध्यम से कुछ इस तरह से चला रहे हैं, तो nginx proxy_passइसे थोड़ा और ट्विक करने की आवश्यकता होगी - यह एक हैकी दृष्टिकोण है, लेकिन यह मेरे लिए काम करता है और मैं इसे सुधारने के सुझावों के लिए खुला हूं:

  • दूरस्थ प्रबंधन सक्षम करें (जैसा कि ऊपर बताया गया है)
  • अस्थायी 81रूप से पोर्ट पर सुनने के लिए विरोध के रूप में सर्वर सेट करें80
  • निम्न कमांड में टाइप करें:
sudo nginx -s reload
  • पर जाएँ http://youripaddress:81
server {
  listen 80;
  listen 81;   # <-------- add this to expose the app on a unique port
  server_name  ~^(local|local\.m).example.com$;
  # ...
}

पुनः लोड करें और जाएँ http://youripaddress:81


2
यदि आप इस 'दूरस्थ प्रबंधन' सेटअप का उपयोग कर रहे हैं, तो यह जानने के लिए एक और उपयोगी चीज़ है कि यदि आपके पास बहुत सारे उबले हुए सर्वर हैं जो नम में चल रहे हैं, तो आपका मोबाइल डिवाइस (usb के माध्यम से जुड़ा हुआ) आपको केवल पहले <VirtualHost> तक पहुँच प्रदान करेगा। httpd-vhosts.conf में परिभाषित किया गया है, इसलिए अपने वर्तमान प्रोजेक्ट को सूची के शीर्ष पर ले
जाएं

मैंने अपने मैक पर दूरस्थ प्रबंधन सक्षम किया जैसा कि आपने कहा था, और मुझे विभिन्न तरीकों के लिए चेकबॉक्स का एक और सेट दिया गया था, जिससे मेरा कंप्यूटर दूरस्थ रूप से प्रबंधित हो सके। मैंने उन सभी को छोड़ दिया जो निरीक्षण के अलावा अनियंत्रित थे, और इसने मेरे लिए ठीक काम किया। मेरा वेब सर्वर लोकलहोस्ट पोर्ट 5555 पर मेरे मैक पर चल रहा था, और मैंने देखा "अन्य उपयोगकर्ता आपके कंप्यूटर को 10.0.0.12 पते का उपयोग करके प्रबंधित कर सकते हैं," इसलिए मेरे फोन के ब्राउज़र में मैंने 10.0.0.12:5555 टाइप किया और अपना वेब पेज देखा।
मार्कस

आईपी ​​का इस्तेमाल करने पर यह काम 192.168.0.101करता था लेकिन होस्टनाम काम नहीं करता था।
कृष्णदास पीसी

6
एक मैक पर, अपना आईपी पता प्राप्त करने के लिए अपने मेनू बार में बस ALT + वाई-फाई पर क्लिक करें।
मैथर्डन

मैंने अपना फ़ायरवॉल अक्षम कर दिया है, लेकिन फिर भी यह कनेक्शन दिखाने से इनकार कर रहा है, किसी भी विचार को कैसे काम करना है?
उन्नीकृष्णन

67

सरल समाधान के साथ (बस laptop_ip_addr:portमोबाइल डिवाइस से पहुंच , जब मोबाइल और लैपटॉप एक ही वाईफाई पर होते हैं), मुझे एक ERR_CONNECTION_REFUSED त्रुटि मिलती है। यही है, मेरा मैकबुक मेरे मोबाइल से कनेक्शन के प्रयास को अस्वीकार करने के लिए लगता है।


ADB रिवर्स सॉकेट (केवल Android)

यह समाधान मेरे लिए काम करता है (मैकबुक के साथ परीक्षण किया गया):

  1. USB के साथ Android मोबाइल डिवाइस को लैपटॉप से ​​कनेक्ट करें
  2. मोबाइल डिवाइस पर USB डिबगिंग सक्षम करें
  3. लैपटॉप पर, भागो adb reverse tcp:4000 tcp:4000
    • के बजाय अपने कस्टम पोर्ट नंबर का उपयोग करें 4000
  4. अब, मोबाइल डिवाइस पर, आप नेविगेट कर सकते हैं http://localhost:4000/, और यह वास्तव में लैपटॉप से ​​कनेक्ट होगा, न कि मोबाइल डिवाइस से

यहाँ निर्देश देखें ।

नकारात्मक पक्ष यह है कि यह केवल एक बार में एक ही मोबाइल डिवाइस के साथ काम करता है । यदि आप किसी अन्य मोबाइल डिवाइस के साथ पहुंच चाहते हैं, तो आपको पहले पहले को डिस्कनेक्ट करना होगा ( यूएसबी डिबगिंग को अक्षम करें ), नए को कनेक्ट करें ( यूएसबी डिबगिंग सक्षम करें ), और adb reverse tcp:4000 tcp:4000फिर से चलाएं ।


ngrok (सभी उपकरणों के साथ काम करता है)

एक और समाधान जो हमेशा काम करना चाहिए वह एनरोक है (जैसा कि अन्य उत्तरों में उल्लेख किया गया है)। यह इंटरनेट पर काम करता है, न कि स्थानीय नेटवर्क पर।

इसका उपयोग करना बेहद आसान है:

brew cask install ngrok
ngrok http 4000

यह आउटपुट, कुछ अन्य जानकारियों के बीच, जैसे एक लाइन

Forwarding                    http://4cc5ac02.ngrok.io -> localhost:4000

अब, आप http://4cc5ac02.ngrok.ioकिसी भी डिवाइस पर नेविगेट कर सकते हैं जो इंटरनेट से जुड़ा है, और यह URL localhost:4000आपके लैपटॉप पर रीडायरेक्ट करता है।

ध्यान दें कि जब तक ngrok कमांड चल रहा है (जब तक आप Ctrl-C को हिट नहीं करते हैं ), तो आपका प्रोजेक्ट सार्वजनिक रूप से परोसा जाता है। हर कोई जिसके पास URL है वह देख सकता है।


2
तुम मेरी जिंदगी दोस्त बचाया
रहो करने के लिए

धन्यवाद। आपने मेरी बहुत मदद की। मैंने अदब रिवर्स का उपयोग करते हुए सिर्फ 4000 पोर्ट को 3000 की जगह दिया और यह आवश्यकतानुसार काम किया।
मार्कस क्रिसोस्टोमो

लानत है कि अंत में काम किया, धन्यवाद!
एलेक्स

38

मुझे इस समस्या का एक त्वरित समाधान मिला। इस लिंक को आज़माएं । यह समस्या को ठीक करने में आपकी मदद करनी चाहिए।

मैंने केवल एक चीज़ बदली है, जहां ट्यूटोरियल बताता है कि आप '127.0.0.1' को 'ऑल' में बदलते हैं, इसे आईपी पते पर बदलें जिससे आपका सर्वर इसके बजाय चल रहा है।

उसके बाद, आपको अपने लोकलहोस्ट से कनेक्ट करने में सक्षम होना चाहिए।


नीचे एक (ठीक करना) से जुड़े हुए पृष्ठ से जानकारी की प्रतिलिपि है:

चरण 1

Wamp सर्वर (या कोई अन्य जिसे आप पसंद करते हैं) स्थापित करें।

यह एक सबसे अच्छा सर्वर है जिसे मैं स्थानीय सर्वर सेट करना जानता हूं। यदि आपने अपाचे या किसी अन्य सर्वर को स्थापित किया है, तो इस चरण को अनदेखा करें।

यहां से Wamp Server को डाउनलोड और इंस्टॉल करें।

चरण 2

Windows फ़ायरवॉल में पोर्ट 80 के लिए एक नया नियम जोड़ें।

  1. नियंत्रण कक्ष खोलें और Windows फ़ायरवॉल का चयन करें।

  2. विंडोज फ़ायरवॉल सेटिंग पेज के बाएं पैनल से उन्नत सेटिंग्स का चयन करें।

  3. बाएं पैनल से इनबाउंड नियम का चयन करें, फिर नया नियम चुनें।

  4. पोर्ट का चयन करें और अगला क्लिक करें।

  5. "विशिष्ट स्थानीय पोर्ट" रेडियो बटन का चयन करें और पोर्ट मूल्य के रूप में 80 दर्ज करें।

  6. कनेक्शन को अपरिवर्तित रहने दें और अगले चरण पर जाएं।

  7. प्रोफ़ाइल विकल्प अपरिवर्तित रखें और अगला क्लिक करें।

  8. अपने नए नियम को कुछ अच्छा नाम दें और समाप्त करें पर क्लिक करें।

यह स्थानीय नेटवर्क आईपी पर पोर्ट 80 तक पहुंच सकेगा।

चरण 3

403 त्रुटि को ठीक करने के लिए Wamp सर्वर की httpd.conf फ़ाइल को संपादित करें।

हमें इस फ़ाइल को संपादित करने की आवश्यकता है। अन्यथा, हम स्थानीय नेटवर्क आईपी के माध्यम से लोकलहोस्ट का उपयोग करते समय 403 निषिद्ध त्रुटि प्राप्त करेंगे।

  1. Wamp सर्वर ट्रे आइकन पर क्लिक करें।

  2. Apache सर्वर उप मेनू खोलें।

  3. Httpd.conf का चयन करें।

  4. Httpd.conf फ़ाइल में कॉन्फ़िगरेशन के इस भाग को ढूंढें:

    Directory c:/wamp/www/”
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    # Controls who can get stuff from this server.
    #
    
    # onlineoffline tag – don’t remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

Replace 127.0.0.1 ’को replace All’ के साथ ढूंढें और बदलें, फ़ाइल को सहेजें और अपने Wamp सर्वर को पुनरारंभ करें।

चरण 4

अपना स्थानीय नेटवर्क IP खोजें।

  1. कमांड प्रॉम्प्ट खोलें।

  2. टाइप करें और ipconfigकमांड दर्ज करें ।

  3. मेरे मामले में, मेरा स्थानीय क्षेत्र नेटवर्क पता 10.0.0.2 है।

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

मुझे उम्मीद है कि यह ट्यूटोरियल आपको वाईफाई पर अपने स्थानीयहोस्ट को एक्सेस करने में मदद करेगा।


धन्यवाद! यह इतना आसान काम किया। बस एक बात; मैंने httpd.conf को छोड़ दिया# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb

1
ट्यूटोरियल विंडोज़ आधारित है? wut?
abbood

1
लिंक अब काम नहीं कर रहा है इसलिए पूरा उत्तर अब बेकार है क्योंकि यह जानकारी एसओ को नहीं दी गई है कि यह कैसे करना है।
rtack

Wamp सर्वर v3 के लिए, मुझे एक निषिद्ध त्रुटि मिल रही थी। इस जवाब की जाँच करें stackoverflow.com/questions/23382627/... कैसे vhosts जानकारी में संशोधन करने पर (जैसा कि ऊपर दिखाया httpd.conf फाइल को संपादित नहीं है)
friek108

यह Wamp का एक बहुत पुराना संस्करण है, जैसा दिखता है, कॉन्फिग फाइल अब कुछ अधिक जटिल हैं। खासकर अगर आप VHosts फीचर का इस्तेमाल करते हैं। मैं इसका पता नहीं लगा सकता, ओवरराइड की कई परतें।
जोनाथन

37

विंडोज पीसी पर आपको "ipconfig" कमांड का उपयोग करके अपने IPv4 एड्रेस का पता लगाने के अलावा और कुछ करने की आवश्यकता नहीं हो सकती है।

  • चरण 1: यूएसबी केबल का उपयोग करके अपने फोन को पीसी से कनेक्ट करें।
  • चरण 2: अपने IPv4 पता (राउटर का बाहरी आईपी) जैसे मेरे मामले में 192.168.1.5 पता लगाने के लिए कमांड 'ipconfig' का उपयोग करें।
  • चरण 3: बस अपने फोन ब्राउज़र से "192.168.1.5:8080" का उपयोग करें। यह काम करता हैं !

अन्य Env विवरण: विंडोज 7, गूगल नेक्सस 4 (4.2.2), टॉमकैट सर्वर, ग्रेल्स एप्लिकेशन।

आपको यह भी सुनिश्चित करना चाहिए कि आपके पास AndroidManifest फ़ाइल में इंटरनेट एक्सेस करने की अनुमति है:

<uses-permission android:name="android.permission.INTERNET"/>

मैंने कोशिश की लेकिन यह कहता रहा कि "कनेक्शन ने इनकार कर दिया"। क्यों? :( क्या पोर्ट 8080 होना चाहिए? वर्तमान में, मेरी वेब सेवा दूसरे पोर्ट पर चल रही है।
Triet Doan

2
मैं 8080 पोर्ट पर tomcat का उपयोग कर रहा था। आप 8080 के स्थान पर अपने स्वयं के सर्वर पोर्ट को जोड़ सकते हैं।
संजय कुमार

और क्या एक वेब के बारे में? देशी ऐप नहीं
amdev

मेरे पास अभी भी अपने लोकलहोस्ट की पहुंच नहीं है
एना लियोनेंको

मैंने इसे आजमाया लेकिन यह कहता हैjava.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
मोएज

16

हालांकि एक बेहतर समाधान है। आप अपने होस्ट मशीन को आईपी पते "10.0.2.2" से एक्सेस कर सकते हैं। इसे Android टीम द्वारा इस तरह से डिजाइन किया गया है। तो आपका वेबसर्वर पूरी तरह से लोकलहोस्ट पर चल सकता है और आपके एंड्रॉइड ऐप से आप इसे "http://10.0.2.2::1880" के माध्यम से एक्सेस कर सकते हैं।


4
यह सच है, चाल आपकी मशीन के स्थानीय आईपी पते को निर्दिष्ट करती है और इसे आपके एंड्रॉइड डिवाइस और आपके मशीन उर्फ ​​सिस्टम के बीच जुड़े वायरलेस राउटर के माध्यम से एक्सेस करती है
अखिल जैन

महान बिंदु, मैं इसके लिए वास्तव में देख रहा था, स्थानीयहोस्ट के साथ एमुलेटर का संचार करने के लिए। धन्यवाद!!
ईगल

13

जैसा कि यह एक पुराना प्रश्न है, ऐसा करने का एक नया तरीका है जो वास्तव में वास्तव में सरल है। ADB Chrome एक्सटेंशन डाउनलोड करें और फिर इन निर्देशों का पालन करें:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging


3
ADB को किसी भी तरह से डाउनलोड करने की कोई आवश्यकता नहीं है, यह पदावनत है, लेकिन डेवलपर्स के लिए जाएं। Googlechrome- developer- tools/docs/… और निर्देशों का पालन करें। नोट: मुझे पोर्ट 8443 को लोकलहोस्ट: 8443
दिमित्रिस

क्या यह केवल डिवाइस पर Chrome से url कॉल के लिए काम करता है या क्या यह मेरे ऐप के भीतर से भी काम करने वाला है?
ओरकुन ओजेन

3
इसने मुझे सही रास्ते पर
ला दिया

मैं अटक गया क्योंकि मेरे डिवाइस पर Google क्रोम स्थापित नहीं था। रवींद्र!
चाड बिंगहैम

9

"एंड्रॉइड के लिए क्रोम पर पोर्ट अग्रेषण मोबाइल पर अपनी विकास साइट का परीक्षण करना आसान बनाता है। यह आपके मोबाइल डिवाइस पर एक सुनने वाले टीसीपी पोर्ट का निर्माण करके काम करता है जो आपके विकास मशीन पर एक विशेष टीसीपी पोर्ट पर मैप करता है। इन पोर्टों के बीच ट्रैफ़िक यूएसबी के माध्यम से यात्रा करता है। इसलिए कनेक्शन आपके नेटवर्क कॉन्फ़िगरेशन पर निर्भर नहीं करता है। "

अधिक जानकारी यहाँ: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding


9

जब आपका मोबाइल डिवाइस और कंप्यूटर एक ही नेटवर्क में नहीं है, तो यह समाधान उपयोगी है:

आपको इस मामले में पोर्ट अग्रेषण का उपयोग करने की आवश्यकता है। Google क्रोम विंडो (chrome: // निरीक्षण) में आप कनेक्टेड डिवाइस देख सकते हैं। यहाँ छवि विवरण दर्ज करें

पोर्ट फाउडिंग बटन पर क्लिक करें, और रैंडम पोर्ट कहे जाने वाले पोर्ट को 3000 सेट करें जिसे आपका लैपटॉप 8080 का उपयोग करता है।

यहाँ छवि विवरण दर्ज करें

अब लैपटॉप में लोकलहोस्ट: 8080: (or_whatever_ip: portno) को एक्सेस करने के लिए लोकलहोस्ट: 3000 का इस्तेमाल करें। आप इसे मोबाइल ब्राउज़र में देख सकते हैं। स्थानीय ब्राउज़र की कोशिश करें: मोबाइल ब्राउज़र में 3000। "पोर्ट अग्रेषण सेटिंग्स" विंडो में "पोर्ट अग्रेषण सक्षम करें" चेकबॉक्स की जांच करना सुनिश्चित करें


मैं आपको प्यार करता हूँ दोस्त! आपको इन चरणों के साथ एक ट्यूटोरियल लिखने की आवश्यकता है!
राफेल गोम्स फ्रांसिस्को

7

CMD को व्यवस्थापक के रूप में चलाएं

और CMD स्क्रीन पर ipconfig टाइप करें और स्क्रीन टेक्स्ट के साथ दिखाई देगी

इस तस्वीर के रूप में यहाँ छवि विवरण दर्ज करें

और आप अपने लोकलहोस्ट को इस आईपी का उपयोग करके एक्सेस कर सकते हैं, जिसे आपको उसी नेटवर्क से कनेक्ट करना होगा जैसे कि आपका पीसी कनेक्टेड है


बस फ़ायरवॉल बंद करें
सलिंडाक्रिश

6

हो सकता है कि आपका वेब सर्वर आपके लूपबैक इंटरफेस पर सुन रहा हो और आपके नेटवर्क इंटरफेस पर नहीं। इसके प्रमुख संकेत हैं:

  • पर हिट करता है 127.0.0.1औरlocalhost (लोकलहोस्ट या एंड्रॉइड एमुलेटर से) काम करते हैं
  • हिट्स 192.168.xxx.xxxकाम नहीं करता है, चाहे वह लोकलहोस्ट, LAN या WAN से हो

मैं इसका निदान करने और यहां एक जवाब में इसे ठीक करने के बारे में अधिक बात करता हूं ।


6

इस फ़ाइल में जाने का प्रयास करें: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all // change it Deny
    Allow from 127.0.0.1

और 10.0.2.2 को अपने आईपी पते में बदलें।


यदि यह "इनकार" है, तो फॉर्म को अनुमति देने के लिए क्षमा करें
5

मैं XAMPP का उपयोग कर रहा हूं और इस वीडियो ने मुझे इसे काम करने का उत्तर दिया: youtube.com/watch?v=YrA_yN3gySs
लियोन

5

अंत में उबंटू में किया गया, मैं लोकलहोस्ट पर नोडज सर्वर चला रहा हूं: 8080

1) खुला टर्मिनल प्रकार ifconfig आपको कुछ इस तरह से आईपी मिलेगा: inet addr: 192.168.43.17

2) अब बस इस तरह से url पता लगाएं: "192.168.43.17:8080" (8080 पोर्ट जो लोकलहोस्ट पोर्ट नंबर से आ रहा है) पूर्व: "192.168.43.17:8080/fetch"


यह केवल मेरे लिए काम करता है जब एक ही नेटवर्क से जुड़ा हो। मुझे कुछ ऐसा चाहिए जो बिना इंटरनेट के काम करे
Geek Guy

5

अपने सिस्टम का IP पता प्राप्त करने के लिए अपने ubuntu / Macbook में इसका उपयोग करें। आपका मोबाइल और सिस्टम एक ही नेटवर्क में होना चाहिए

ip addr | grep inetयह आपको एक आईपी पता देगा जो दिखता है 192.168.168.46। इसे अपने स्मार्टफोन में इस्तेमाल करें।

उम्मीद है की यह मदद करेगा।


4

मैंने इस प्रक्रिया का उपयोग किया:

  • पीसी पर फ़िडलर स्थापित करें
  • इन उत्कृष्ट निर्देशों का पालन ​​करते हुए PC और Android डिवाइस सेट करें
  • एंड्रॉइड डिवाइस पर ब्राउज़र पर जाएं और स्थानीयहोस्ट को एक्सेस करने के लिए http: //ipv4.fiddler टाइप करें

ध्यान दें कि इस प्रक्रिया के लिए आपको हर सत्र के आरंभ और अंत में एंड्रॉइड डिवाइस पर वाईफाई सेटिंग्स को बदलना होगा। मुझे यह कम दर्दनाक लगा तो अपने एंड्रॉइड डिवाइस को रूट करना।


3

कई अलग-अलग लोकलहोस्ट सर्वर का उपयोग करके इस समस्या में चल रहा था। अंत में पायथन सिंपल सर्वर का उपयोग करके सेकंड में फोन पर मेरा ऐप चला और चल रहा है। यह केवल कुछ सेकंड लेता है इसलिए किसी भी अधिक जटिल समाधान में आने से पहले एक कोशिश के लायक है। सबसे पहले, सुनिश्चित करें कि आपने पायथन स्थापित किया है। cmd+rऔर pythonविंडोज के लिए या $ python --versionमैक टर्मिनल में टाइप करें ।

आगे:

cd <your project root>

$ python -m SimpleHTTPServer 8000

फिर बस नेटवर्क पर अपने होस्ट मशीन का पता ढूंढें, मैंने System Preferences/Sharingइसे खोजने के लिए मैक पर उपयोग किया । अपने Android डिवाइस में टैप करें और अपने लोड करना चाहिएindex.html और आपको और आपको अच्छा होना चाहिए।

यदि नहीं तो समस्या कुछ और है और आप कुछ अन्य सुझाए गए समाधानों पर गौर करना चाहते हैं। सौभाग्य!

* संपादित करें *

यदि आप Chrome का उपयोग कर रहे हैं, तो एक और त्वरित समाधान क्रोम एक्सटेंशन के लिए वेब सर्वर है। मैंने इसे अपने फोन पर लोकलहोस्ट की पहुँच के लिए एक त्वरित और सुपर आसान तरीका पाया। बस के Accessible to local networkतहत जाँच सुनिश्चित करें Optionsऔर यह आपके सेल पर बिना किसी समस्या के काम करना चाहिए।

यहाँ छवि विवरण दर्ज करें


क्या यह अजगर की तुलना में अन्य सर्वर साइड भाषाओं के लिए काम करेगा?
मास

3

ngrok आपको अपनी लोकलहोस्ट को एक अस्थायी सर्वर पर रखने की सुविधा देता है और इसे स्थापित करने के लिए बहुत सरल है। मैंने यहाँ कुछ चरण दिए हैं जो लिंक में पाए जा सकते हैं:

  1. ऊपर दिए गए लिंक से ngrok ज़िप डाउनलोड करें
  2. जिप खोलें
  3. अपने सर्वर को स्थानीय रूप से चलाएं और पोर्ट नंबर पर ध्यान दें
  4. टर्मिनल में, उस फ़ोल्डर पर जाएं जहां एनरोक रहता है और टाइप करें ngrok http [port number]

आपको अपने टर्मिनल में एक छोटा डैशबोर्ड दिखाई देगा, जिसमें आपके लोकलहोस्ट की ओर इशारा किया जाएगा। अपने ऐप को उस पते पर इंगित करें और अपने डिवाइस पर बनाएँ।


यह केवल बाहरी रूप से सर्वर तक पहुंचने के लिए उपयोगी है। आप सर्वर के स्थानीय आईपी पते का उपयोग कर सकते हैं।
वनक्रीचर

3

सबसे पहले अपने फोन और कंप्यूटर को आम वाईफाई से कनेक्ट करें।

फिर, व्यवस्थापक के रूप में रन का उपयोग करके कमांड प्रॉम्प्ट खोलें

Ipconfig कमांड दें

जो वायरलेस लैन आईपी दिखाता है

फोन में पहुंचने के लिए अपने सर्वर के आईपी का उपयोग करें


3

लोकलहोस्ट को डिफ़ॉल्ट करने का आसान तरीका http: // localhost: port का उपयोग करना है । यह एक लैपटॉप और एंड्रॉइड में भी काम करता है।

अगर यह काम नहीं करता है, तो Android में अपने फोन के डिफ़ॉल्ट आईपी को 127.0.0.1:पोर्ट पर सेट करें :)

टर्मिनल खोलें और टाइप करें: -

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*

2

सबसे पहले अपनी मशीन (जहां सर्वर चल रहा है) को आईपी एड्रेस स्टैटिक बनाएं। एंड्रॉइड कोड में इस स्थिर आईपी पते को दर्ज करें। इसके बाद अपने वाईफाई राउटर के इंटरफेस पर जाएं और लेफ्ट पैनल को चेक करें। आपको पोर्ट फ़ॉरवर्डिंग / फ़ॉरवर्डिंग जैसे विकल्प दिखाई देंगे। इस पर क्लिक करें और पोर्ट 80 को फॉरवर्ड करें। अब अपना एडिट करेंhtttpd.conf फ़ाइल को संपादित करें और इसे संपादित करें

सभी से अनुमति दें

। अपने सर्वर को पुनरारंभ करें। सब कुछ अब ठीक काम करना चाहिए।

इसके अतिरिक्त आप अपनी मशीन के आईपी पते को आरक्षित कर सकते हैं ताकि यह आपको हमेशा आवंटित किया जाए। अपने राउटर के इंटरफ़ेस के बाएं पैनल में, ढूंढें DHCP -> Address Reservation, उस पर क्लिक करें। अपनी मशीन का मैक पता और आईपी पता जो आपने कोड में दर्ज किया है, दर्ज करें। Save पर क्लिक करें। यह आपके मशीन के लिए दिए गए आईपी पते को आरक्षित करेगा।


2

मेरे लैपटॉप के आधार पर मेरे मोबाइल डिवाइस को मेरे वैंप सर्वर से जोड़ने का उपाय:

पहला, वाईफाई एक राउटर नहीं है। तो अपने मोबाइल डिवाइस को अपने लैपटॉप पर लोकलहोस्ट पर आधारित मेरे वैंप सर्वर से कनेक्ट करने के लिए, मुझे एक राउटर की आवश्यकता है। मैंने एक मुफ्त वर्चुअल राउटर डाउनलोड और इंस्टॉल किया है: https://virtualrouter.codeplex.com/

इसे कॉन्फ़िगर करना वास्तव में सरल है:

  1. सिस्टम ट्रे में वर्चुअल राउटर आइकन पर राइट क्लिक करें
  2. कॉन्फ़िगर वर्चुअल राउटर पर क्लिक करें
  3. एक पासवर्ड भरें
  4. यदि आपका इंटरनेट कनेक्शन ईथरनेट में है, तो साझा कनेक्शन चुनें: ईथरनेट
  5. फिर अपने लैपटॉप और डिवाइस पर वाईफाई सेट करें
  6. अपने डिवाइस पर वर्चुअल राउटर नेटवर्क नाम से कनेक्ट करें

फिर आप एक ब्राउज़र लॉन्च करके अपने डिवाइस के माध्यम से अपने लैपटॉप से ​​कनेक्ट कर सकते हैं और अपने लैपटॉप का IPV4 पता भर सकते हैं (इसे विंडोज़ पर खोजने के लिए, cmd में टाइप करें: ipconfig, और ipv4 पता ढूंढें)

आपको अपना wamp सर्वर होम पेज देखना चाहिए।


2

हालाँकि एक उत्तर को स्वीकार कर लिया गया है लेकिन यह मेरे लिए काम कर रहा है:

  1. सुनिश्चित करें कि आपका कंप्यूटर और Android डिवाइस दोनों एक ही नेटवर्क पर हैं।
  2. अपने कंप्यूटर का आईपी पता प्राप्त करें। ( ifconfigटर्मिनल के अंदर मैक प्रकार के मामले में और en0/en1 -> inetइसे देखने के लिए कुछ ऐसा होना चाहिए19*.16*.1.4 ।) (विंडोज़ पर, `ipconfig का उपयोग करें)
  3. अपनी मोबाइल सेटिंग्स खोलें और नेटवर्क पर जाएं-> अपने वाईफाई नेटवर्क को लंबे समय तक दबाएं-> नेटवर्क को संशोधित करें -> उन्नत विकल्पों पर स्क्रॉल करें -> प्रॉक्सी मैनुअल को चुना और प्रॉक्सी होस्टनाम में अपना पता टाइप करें अर्थात 19*.16*.1.4अंदर पोर्ट अपना पोर्ट दर्ज करें। और इसे बचाओ।

  4. के लिए खोज what is my ipगूगल क्रोम में, और अपने आईपी मिलता है, की सुविधा देता है कहते हैं कि यह है1**.1**.15*.2**

  5. 1**.1**.15*.2**:port/अपने मोबाइल डिवाइस से एक्सेस करने का प्रयास करें।

यह उतना ही सरल है।


आपको वाईफाई पर प्रॉक्सी की आवश्यकता नहीं है और आपको स्थानीय नेटवर्क के भीतर बाहरी आईपी पते की भी आवश्यकता नहीं है
OneCricketeer

2

यह वही है जो मेरे लिए काम करता था, मैंने जिस डिवाइस का उपयोग करना चाहता था, उसका सटीक स्थानीय नेटवर्क आईपी पता (सार्वजनिक आईपी पता नहीं) निर्दिष्ट करने के लिए 127.0.0.1 आईपी के बाद एक और लाइन जोड़ी। मेरे मामले में मेरा सैमसंग गैलेक्सी एस 3

जैसा कि बैंगपिट ने सुझाव दिया है कि httpd.conf फ़ाइल को संपादित करें (संस्करण संख्याएँ x): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

ऑनलाइनऑफलाइन टैग के लिए खोज करें और अपने फोन का आईपी जोड़ें (मुझे अपने राउटर कॉन्फ़िगरेशन पेजों में मेरे फोन का आईपी पता मिला):

ऑनलाइनऑफ़लाइन टैग - निकालें नहीं

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

नीचे लाइन में मेरे फोन आईपी

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

कोई इसका विस्तार करने के लिए पूरे उप डोमेन को भी शामिल कर सकता है जैसे कि 192.168.1.0/24 आदि


2

EASIEST तरीका (यह मेरे लिए त्रुटिपूर्ण रूप से काम करता है) आपकी साइट को स्थानीय रूप से होस्ट 0.0.0.0:<port_no>करने और मोबाइल डिवाइस, <local_ipv4_address>:<port_no>/<path>ब्राउज़र में उपयोग करने के लिए इसे एक्सेस करने के लिए है।

  • अपना स्थानीय ipv4 पता जानने के लिए, बस ipconfigcmd में टाइप करें
  • SAME नेटवर्क से जुड़ा कोई भी उपकरण इस url तक पहुँच सकता है।

2

Ngrok सबसे अच्छा उपाय है। यदि आप PHP का विकास कर रहे हैं तो मैं लारवेल वैलेट स्थापित करने की सलाह देता हूं , इसमें मैकओएस और लिनक्स संस्करण हैं, फिर आप valet shareकमांड का उपयोग कर सकते हैं । यदि आप किसी भी फ्रंट टेक को विकसित कर रहे हैं और 3000 जैसे पोर्ट को साझा करने की आवश्यकता है तो सीधे एनरोक का उपयोग करेंngrok http 3000


1

भविष्य के डेवलपर्स के लिए एक समाधान जोड़ना।

अपने आईपी पते की कॉपी का पता। अपने नेटवर्क पर राइट क्लिक करें -> नेटवर्क और शेयरिंग-> आपके पास वर्तमान में मौजूद कनेक्शन पर क्लिक करें-> विवरण-> उसके बाद ipv4 एड्रेस के साथ पता आपका आईपी एड्रेस है, इसे नीचे कहीं नोट करें

नियंत्रण कक्ष पर जाएं -> सिस्टम और सुरक्षा -> विंडोज़ फ़ायरवॉल -> उन्नत सेटिंग्स -> इनबाउंड नियम -> नए नियम (पोर्ट जोड़ने के लिए चरणों का पालन करें जैसे 80, इसके पालन करने के लिए वास्तव में सरल)

अपना आईपी पता डालें जिसे आपने अपने फ़ोन ब्राउज़र पर नोट किया था और आपके द्वारा इसके लिए नियम बनाया गया पोर्ट नंबर। जैसे 192.168.0.2:80 और वाला।

संभव समाधान अगर यह कनेक्ट नहीं करता है। राइट क्लिक नेटवर्क-> ओपन नेटवर्क और शेयरिंग-> अपने सक्रिय कनेक्शन को देखने के तहत, कनेक्शन के प्रकार पर अपने कनेक्शन के नाम के तहत देखें और यदि यह सार्वजनिक है, तो उस पर क्लिक करें और इसे होम नेटवर्क में बदलना सुनिश्चित करें।


1

जांच करने के लिए एक और बात यह है कि कुछ राउटरों के पास अनुरोधों को पूरा करने में समस्या होती है जब 2.4G और 5G दोनों सक्षम होते हैं और डिवाइस विभिन्न आवृत्तियों पर होते हैं। आवृत्तियों में से किसी एक को अक्षम करने का प्रयास करना ताकि दोनों उपकरण एक ही इंटरफ़ेस से जुड़े हों।


0

उपयोग connectifyऔर xamppया समतुल्य, और उपयोग करने के लिए मोबाइल URL बार पर आईपी पता टाइप करें


0

व्यक्तिगत रूप से मैं डिवाइस का उपयोग करते समय लोकलहोस्ट का उपयोग करने के लिए जोर नहीं देता, कोई आसान समाधान नहीं है।

बस वह गतिविधि शुरू करें जहाँ आप लोकलहोस्ट से जुड़ते हैं जहाँ आप एमुलेटर का उपयोग कर सकते हैं। जो भी जानकारी आपको डिवाइस से प्राप्त करनी है वह आसानी से उत्पन्न की जा सकती है और इसे पैरामीटर के रूप में गतिविधि पर भेजा जा सकता है।

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