Yerel ana makineme Android cihazımdan nasıl erişebilirim?


542

Dizüstü bilgisayar web sunucuma Android öykünücüsü kullanarak erişebiliyorum, 10.0.2.2:portno iyi çalışıyor.

Ancak gerçek Android telefonumu bağladığımda, telefon tarayıcısı dizüstü bilgisayarımdaki aynı web sunucusuna bağlanamıyor. Telefon dizüstü bilgisayara bir USB kablosu kullanılarak bağlanır. Adb Devices komutunu çalıştırırsam telefonumu görebilirim.

Neyi kaçırıyorum?


3
Şunu


3
Web sayfanızı test ederken güvenlik duvarını kapatın veya ip'inizi güvenlik duvarı ayarlarından güvenilir ağlara ekleyin.
zeeali


souper ez with ngrok
JonPizza

Yanıtlar:


402

USB, mobil cihaza ağ sağlamaz.

Hem masaüstünüz hem de telefonunuz aynı WiFi'ye (veya başka bir yerel ağa) bağlıysa , yönlendirici tarafından atanan ( localhostdeğil 127.0.0.1) masaüstü IP adresinizi kullanın .

Masaüstünüzün IP adresini bulmak için:

  • komut satırına yazın ipconfig(Windows) veya ifconfig(Unix)
    • Linux'ta tek astar ifconfig | grep "inet " | grep -v 127.0.0.1sadece önemli şeyleri verecektir
    • Windows'da benzer bir çıktıya nasıl sahip olacağınıza dair bir sürü öneri var
  • bir grup IP olacak
  • hepsini deneyin (bahsi geçen localhostve hariç 127.0.0.1)

Telefonunuz mobil ağa bağlıysa , işler daha zor olacaktır.

Ya sert olun:

  • önce yönlendiricinizin harici IP adresini bulun ( https://www.google.de/search?q=myip )
  • ardından yönlendiricide, bazı bağlantı noktalarını <your desktop IP>:<server port number>
  • Son olarak harici IP adresini ve iletilen bağlantı noktasını kullanın

Aksi takdirde xip.io veya ngrok gibi bir şey kullanın .

NOT : ifconfigKomut, Debian uzatma işleminden başlayarak varsayılan olarak Debian Linux'ta kullanım dışıdır ve bu nedenle eksiktir. Debian Linux'ta bir ağ yapılandırmasını incelemek için yeni ve önerilen alternatif ip komutudur. Örneğin bir ağ yapılandırmasını görüntülemek için ip komutunu kullanmak için aşağıdakileri çalıştırın:

ip address

Yukarıdaki ip komutu şu şekilde kısaltılabilir:

ip a

Hala ifconfiggünlük sistem yöneticisi rutininizin bir parçası olarak kullanmayı tercih ediyorsanız , bunu net-toolspaketin bir parçası olarak kolayca kurabilirsiniz .

apt-get install net-tools

Referans burada


Teşekkürler, bu benim için çok yardımcı oldu. Benim için sorun, yerel apache sunucusunun 10.0.2.2 ip üzerinden ele alınabileceğini bilmiyordum. ... Ben ipconfig vb bir gösteri gibi, diğer ip-adresler çok çalışır. Ama yine, çok teşekkürler!
Vidar Vestnes

4
Bu problem çözümünü anlamıyorum. Telefonumun sunucuma nasıl erişebileceği konusunda bana yardımcı olabilir misiniz? Umarım bu çözümü bana çıkarırsın. Teşekkürler.
iremce

1
Aşağıdaki yorumumu okuyun .. İnternet erişim iznine de sahip olmalısınız. <kullanımları izin android: name = "android.permission.INTERNET" />
Sanjay Kumar

3
@ yönlendirici ana sayfanıza gidin, XFinity için 10.0.0.1, genellikle 192.168.1.1 olsa ve giriş yapın, Bağlı Cihazları veya Yerel IP'leri arayın, bilgisayarınızı ve bam'nızı bulun. Benimki 10.0.0. # İdi, sonra sadece [10.0.0. # :( port) / Server / Servlet] ya da her neyse
ekleyin

2
Bu, bu sorunun kabul edilen cevabı olmamalıdır. Chrome cihazlarında ve adb reverse'da port yönlendirme, bir USB kablosuyla mükemmel çalışır.
Roger Madsen

228

Aslında oldukça basit.

  • Android telefonunuzun / yönlendiricinizin WiFi Hotspot'unu açın ve Dizüstü Bilgisayarınızı telefonunuza bağlayın
  • Sunucunuzu şu localhostadresten başlatın (Windows için WAMP sunucusu kullanıyorum)
  • Şimdi komut istemini açın ve
ipconfig

Bunu yaptıktan sonra, aşağıdakine benzer bir şey göreceksiniz:

Kablosuz LAN adaptörü Kablosuz Ağ Bağlantısı:
  Bağlantıya özgü DNS Soneki. :
  Bağlantı yerel IPv6 Adresi. . . . . : fe80 :: 80bc: e378: 19ab: e448% 11
  IPv4 Adresi. . . . . . . . . . . : 192.168.43.76
  Alt Ağ Maskesi. . . . . . . . . . . : 255.255.255.0
  Varsayılan giriş . . . . . . . . . : 192.168.43.1
  • IPv4 Adresini kopyalayın (bu durumda, 192.168.43.76)
  • Mobil tarayıcınıza IPv4 Adresini yapıştırmanız yeterlidir

Not: Lütfen ağınızı " Ev Ağı " olarak ayarlayın . Ağı Ev Ağı olarak ayarlamak, PC'nizin aynı ağdaki diğer cihazlarla bir şeyler paylaşmasına izin verdiğiniz anlamına gelir.

Windows 10 kullanıyorsanız, bu aşağıdakilerle yapılabilir:

  • Ayarları
  • Git Ağı & Internet
  • Seç WiFi sol menüde
  • Bağlı WiFi'nin adına dokunun
  • Set Ağ Profili olmak ağın Özel

Bir sorun yaşıyorsanız, büyük olasılıkla Windows Güvenlik Duvarı ile ilgilidir.

  • Denetim Masası'nı
  • Git Windows Defender Güvenlik Duvarı
  • Windows Defender Güvenlik Duvarı üzerinden bir uygulamaya veya özelliğe izin ver üzerine dokunun
  • Uygulamanın Özel ağlar için etkin olup olmadığını kontrol edin (bir onay işareti olmalıdır)
  • O ise değil , musluk etkin ayarlarını değiştir'i ve altında onay kutusunu işaretleyin Private uygulaması için

30
hm bunu yaptı ama tarayıcı yüklemek için sonsuza kadar sürüyor görünüyor o zaman bana bir ayy verir? Yanlış bir şey mi yapıyorum? Ve ne demek istiyorsun ev ağı
Lion789

12
Lütfen bilgisayardaki güvenlik duvarını da kapatmayı unutmayın.
Minh Nguyen

2
Evet, güvenlik duvarını kapatmak yardımcı oldu. Teşekkürler.
Beemo

2
* Ev Ağı bu (: Ev ağı, aynı ağdaki cihazlarla bir şeyler paylaşmam için izin verdiğin bilgisayar anlamına gelir.
Leap Hawk

6
"Windows Defender Güvenlik Duvarı üzerinden bir uygulamaya veya özelliğe izin ver üzerine dokunun Uygulamanın Özel ağlar için etkin olup olmadığını kontrol edin (bir onay işareti olmalıdır)" Ne demek istiyorsun?
Liz Lamperouge

71

Mac OS X kullanıcıları

Bunu uzaktan yönetimi etkinleştirerek başardım :

  • Telefonunuzun ve dizüstü bilgisayarınızın aynı WiFi ağına bağlı olduğundan emin olun
  • Mac'te şu adrese gidin: System preferences/sharing
  • Uzaktan Yönetimi etkinleştir

Buna benzer bir mesaj göreceksiniz:

  • Diğer kullanıcılar bilgisayarınızı adresi kullanarak yönetebilir some.url.com

Android cihazınızda artık Mac'inizde some.url.comyetki verilecek olanlara gidebilmeniz gerekir localhost. ifconfigMac'inizin IP adresini almak için de kullanabilirsiniz .


Taşınabilir çözüm ngrok(Node.js ile herhangi bir işletim sistemi)

Projenizi geçici bir alan adı ile ifşa etmek sakıncası yoksa kullanabilirsiniz ngrok. Bir uygulama var Diyelim bu konuda çalışır localhost:9460I can basitçe yazma

npm install ngrok -g

ngrok http 9460

Bu bana:

Oturum Durumu çevrimiçi
Güncelleme güncellemesi mevcut (sürüm 2.2.8, güncellenecek Ctrl-U)
Sürüm 2.2.3
Bölge ABD (ABD)
Web Arayüzü http://127.0.0.1:4040
Yönlendirme http://f7c23d14.ngrok.io -> localhost: 9460
Yönlendirme https://f7c23d14.ngrok.io -> localhost: 9460

Bağlantılar ttl opn rt1 rt5 p50 p90
                              0 0 0.00 0.00 0.00 0.00

Artık https://f7c23d14.ngrok.iouzaktan görüntülemenin bir yolu olarak ulaşabiliyorum localhost. Bu, tasarım çalışmalarını veya ilerlemeyi müşterilerle paylaşmak için harikadır.


nginxProxy geçişi ile alternatif çözüm

Eğer böyle bir şey çalıştırıyorsanız nginx proxy_pass, biraz daha tweaking gerektirecektir - bu hileli bir yaklaşımdır, ancak benim için işe yarıyor ve iyileştirme önerilerine açığım:

  • Uzaktan yönetimi etkinleştir (yukarıda belirtildiği gibi)
  • Geçici bağlantı noktasında dinleme için sunucuyu ayarlamak 81aksine80
  • Aşağıdaki komutu yazın:
sudo nginx -s reload
  • Ziyaret etmek 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$;
  # ...
}

Yeniden yükle ve ziyaret et http://youripaddress:81


2
Bu 'uzaktan yönetim' kurulumunu bilmek başka bir yararlı şey ise, mamp'de çalışan çok sayıda aliased sunucunuz varsa, mobil cihazınız (usb ile bağlı) sadece ilk <VirtualHost> 'a erişmenizi sağlar. httpd-vhosts.conf içinde tanımlanmış, bu yüzden sadece mevcut projenizi listenin en üstüne taşıyın
DrewT

Dediğin gibi Mac bilgisayarımda uzaktan yönetimi etkinleştirdim ve bilgisayarımın uzaktan yönetilebilmesi için çeşitli yollar için başka bir onay kutusu seti verildi. Observe dışında hepsini kontrol etmeden bıraktım ve bu benim için iyi çalıştı. Web sunucum, localhost bağlantı noktası 5555 üzerinde mac'umda çalışıyordu ve "diğer kullanıcıların bilgisayarınızı 10.0.0.12 adresini kullanarak yönetebileceğini" gördüm, bu yüzden telefonumun tarayıcısına 10.0.0.12:5555 yazdım ve web sayfamı gördüm.
Marcus

IP kullanıldığında işe yaradı, 192.168.0.101ancak ana bilgisayar adı çalışmadı.
Krishnadas PC

6
Mac'te IP adresinizi almak için ALT + menü çubuğundaki Wi-Fi tuşunu tıklayın.
matharden

Güvenlik duvarımı devre dışı bıraktım, ancak yine de bağlantı reddedildiğini gösteriyor, nasıl çalıştıracağına dair bir fikir var mı?
Unnikrishnan

67

Basit bir çözümle (sadece laptop_ip_addr:portmobil cihazdan erişim , mobil ve dizüstü bilgisayar aynı WiFi'de olduğunda ), bir ERR_CONNECTION_REFUSED hatası alıyorum. Yani, MacBook'um cep telefonumdan bağlantı girişimini reddediyor gibi görünüyor.


ADB Ters Soket (yalnızca Android)

Bu çözüm benim için çalışıyor (MacBook ile test edildi):

  1. Android mobil cihazı USB kablosuyla dizüstü bilgisayara bağlayın
  2. Mobil cihazda USB Hata Ayıklamayı etkinleştir
  3. Dizüstü bilgisayarda çalıştırın adb reverse tcp:4000 tcp:4000
    • Özel bağlantı noktası numaranızı kullanın 4000
  4. Şimdi, mobil cihazda, gezinebilirsiniz http://localhost:4000/ve aslında mobil cihaza değil, dizüstü bilgisayara bağlanır

Buradaki talimatlara bakın .

Dezavantajı, bunun aynı anda sadece tek bir mobil cihazla çalışmasıdır . Başka bir mobil cihazla erişmek istiyorsanız, önce birincisinin bağlantısını kesmeniz ( USB Hata Ayıklamayı devre dışı bırakmanız), yenisini bağlamanız ( USB Hata Ayıklamayı etkinleştir ) ve adb reverse tcp:4000 tcp:4000tekrar çalıştırmanız gerekir .


ngrok (tüm cihazlarla çalışır)

Her zaman çalışması gereken bir başka çözüm ngrok'tur (diğer cevaplarda belirtildiği gibi). Yerel ağda değil, İnternet üzerinden çalışır.

Kullanımı son derece kolaydır:

brew cask install ngrok
ngrok http 4000

Bu, diğer bazı bilgilerin yanı sıra,

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

Artık http://4cc5ac02.ngrok.ioİnternet'e bağlı herhangi bir cihazda gezinebilirsiniz ve bu URL localhost:4000dizüstü bilgisayarınıza yönlendirilir .

Ngrok komutu çalıştığı sürece (siz Ctrl-C tuşlarına basıncaya kadar ) projeniz halka açık olarak sunulur. URL'ye sahip olan herkes onu görebilir.


2
Eğer hayatım ahbap kurtardı
Olmak

Teşekkür ederim. Bana çok yardımcı oldun. Ben sadece 4000 port yerine 3000 adb reverse adb reverse kullandım ve gerektiği gibi çalıştı.
Marcus Crisostomo

sonunda işe yaradı lanet olsun, teşekkürler!
Alex

38

Bu soruna hızlı bir çözüm buldum. Bu bağlantıyı deneyin . Sorunu çözmenize yardımcı olacaktır.

Ben sadece bir şeyi değiştirdim, burada öğretici '127.0.0.1' '' All 'olarak değiştirir, yerine sunucunuzun üzerinde çalıştığı IP adresine değiştirin.

Bundan sonra, yerel ana makinenize bağlanabilmeniz gerekir.


Bağlantılı sayfadaki bilgilerin (prova) bir kopyası aşağıdadır:

Aşama 1

Wamp sunucusunu (veya tercih ettiğiniz başka bir sunucuyu) kurun.

Bu, yerel bir sunucu kurmayı bildiğim en iyi sunuculardan biri. Apache veya başka bir sunucu kurduysanız, bu adımı atlayın.

Wamp Sunucusunu buradan indirip yükleyin.

Adım 2

Windows Güvenlik Duvarı'nda bağlantı noktası 80 için yeni bir kural ekleyin.

  1. Denetim Masası'nı açın ve Windows Güvenlik Duvarı'nı seçin.

  2. Windows Güvenlik Duvarı ayar sayfasının sol panelinden Gelişmiş ayarlar'ı seçin.

  3. Sol panelden Gelen Kuralları'nı ve ardından Yeni Kural'ı seçin.

  4. Bağlantı Noktası'nı seçin ve İleri'ye tıklayın.

  5. “Belirli yerel bağlantı noktaları” radyo düğmesini seçin ve bağlantı noktası değeri olarak 80 girin.

  6. Bağlantıyı değiştirmeye devam et ve bir sonraki adıma geç.

  7. Profil seçeneklerini değiştirmeyin ve İleri'yi tıklayın.

  8. Yeni kuralınıza güzel bir ad verin ve Son'u tıklayın.

Bu, yerel ağ IP'sinde bağlantı noktası 80 erişimini etkinleştirir.

Aşama 3

403 hatasını düzeltmek için Wamp sunucusunun httpd.conf dosyasını düzenleyin.

Bu dosyayı düzenlememiz gerekiyor. Aksi takdirde, yerel ağa yerel ağ IP'si üzerinden eriştiğimizde 403 yasak hatasını alırız.

  1. Wamp sunucusu tepsisi simgesini tıklayın.

  2. Apache sunucusu alt menüsünü açın.

  3. Httpd.conf'u seçin.

  4. Httpd.conf dosyasında bu yapılandırma bölümünü bulun:

    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

'127.0.0.1'i bulup' Tümü 'ile değiştirin, dosyayı kaydedin ve Wamp sunucunuzu yeniden başlatın.

4. Adım

Yerel ağ IP'nizi bulun.

  1. Komut istemini açın.

  2. ipconfigKomutu yazın ve girin .

  3. Benim durumumda, yerel ağ adresim 10.0.0.2.

Bu, wifi üzerinden Android telefonunuzdaki localhost'a erişmek için ihtiyacınız olan IP'dir. Çalışıp çalışmadığını test etmek için, yerel IP sunucunuzun kurulu olduğu masaüstü tarayıcınıza bu IP adresini yazın. Tarayıcı localhost sayfanızı başarıyla görüntülemelidir. Bu, bu yerel ağ IP'sinin Android telefonunuzda başarıyla erişilebilir olmasını sağlayacaktır.

Umarım bu eğitici, wifi üzerinden localhost'a erişmenize yardımcı olacaktır.


Teşekkürler! bu çok kolay çalıştı. sadece bir şey; Ben httpd.conf olarak bıraktım# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb

1
Windows tabanlı öğretici? wut?
abbood

1
bağlantı artık çalışmıyor, bu yüzden nasıl yapılacağına dair bilgi SO'ya eklenmediği için tüm yanıt artık işe yaramaz.
rtack

Wamp sunucusu v3 için yasak bir hata alıyordum. Vhosts bilgilerinin nasıl değiştirileceği hakkında bu cevabı stackoverflow.com/questions/23382627/… (yukarıda gösterildiği gibi httpd.conf dosyasını düzenlemeyin)
friek108

Bu Wamp'ın gerçekten eski bir sürümü gibi görünüyor, yapılandırma dosyaları şimdi biraz daha karmaşık. Özellikle VHosts özelliğini kullanıyorsanız. Bunu anlayamıyorum, çok fazla geçersiz kılma katmanı.
Jonathan

37

Windows PC'de IPv4 Adresinizi "ipconfig" komutunu kullanarak bulmaktan başka bir şey yapmanız gerekmeyebilir.

  • Adım 1: Telefonunuzu USB kablosunu kullanarak PC'ye bağlayın.
  • Adım 2: IPv4 Adresinizi (Yönlendiricinin Harici IP'si) bulmak için 'ipconfig' komutunu kullanın, örneğin 192.168.1.5.
  • Adım 3: Telefonunuzun tarayıcısından "192.168.1.5:8080" dosyasına erişmeniz yeterlidir. İşe yarıyor !

Diğer Zarf Ayrıntıları: Windows 7, Google Nexus 4 (4.2.2), Tomcat Sunucusu, Grails Uygulaması.

Ayrıca AndroidManifest dosyasında internete erişim iznine sahip olduğunuzdan emin olmalısınız:

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

Denedim ama "Bağlantı reddedildi" diyor. Neden? :( Şu anda web servisim başka bir limanda çalışıyor
Triet Doan

2
8080 numaralı bağlantı noktasında tomcat kullanıyordum. 8080 yerine kendi sunucu bağlantı noktanızı ekleyebilirsiniz.
Sanjay Kumar

Peki ya bir webapp? yerel bir uygulama değil
amdev

Benim localhost'uma hala erişimim yok
Anna Leonenko

Denedim ama diyorjava.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Moeez

16

Ancak çok daha iyi bir çözüm var. Ana makinenize "10.0.2.2" IP adresiyle erişebilirsiniz. Bu, Android ekibi tarafından bu şekilde tasarlanmıştır. Böylece web sunucunuz localhost'ta mükemmel bir şekilde çalışabilir ve Android uygulamanızdan "http://10.0.2.2:8080" aracılığıyla erişebilirsiniz.


4
Bu doğru, hile makinenizin yerel ip adresini belirtmek ve android cihazınız ve makineniz aka sistemi arasında bağlı bir kablosuz yönlendirici üzerinden erişmektir
Akhil Jain

Büyük bir nokta, emülatör ile localhost iletişim kurmak için tam olarak bunu arıyordum. Teşekkürler!!
Kartal

13

Bu eski bir soru olduğundan, bunu yapmanın gerçekten çok basit yeni bir yolu var. ADB Chrome Uzantısını indirin ve ardından şu talimatları izleyin:

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


3
Artık kullanımdan kaldırıldığında ADB'yi indirmenize gerek yoktur, ancak developers.google.com/chrome-developer-tools/docs/… adresine gidin ve talimatları izleyin. Not: 8443 numaralı bağlantı noktasını localhost'a iletmek zorunda kaldım: 8443
Dimitris

bu yalnızca cihazdaki Chrome'dan url çağrıları için mi çalışıyor yoksa uygulama içinden de çalışması gerekiyor mu?
Orkun Ozen

3
Bu beni doğru yola koydu - Chrome Dev Araçları hakkında daha yeni bir cevap burada bulunabilir: Android Chrome Ters Bağlantı Noktası Yönlendirme
Richard Le Mesurier

Cihazımda google chrome yüklü olmadığından takıldım. Doh!
Chad Bingham

9

"Android için Chrome'da bağlantı noktası iletme, geliştirme sitenizi mobil cihazlarda test etmeyi kolaylaştırır. Mobil cihazınızda geliştirme makinenizdeki belirli bir TCP bağlantı noktasıyla eşleşen bir dinleme TCP bağlantı noktası oluşturarak çalışır. Bu bağlantı noktaları arasındaki trafik, USB yoluyla seyahat eder, bu nedenle bağlantı ağ yapılandırmanıza bağlı değildir. "

Daha fazla ayrıntı burada: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding


9

Bu çözüm, mobil cihazınız ve bilgisayarınız aynı ağda olmadığında kullanılabilir:

Bu durumda bağlantı noktası iletmeyi kullanmanız gerekir. Google krom inceleme penceresinde (chrome: // inspect) Bağlı cihazları görebilirsiniz. resim açıklamasını buraya girin

Bağlantı noktası fowading düğmesine tıklayın ve dizüstü bilgisayarınızın 8080 dediği bağlantı noktasına rasgele bir bağlantı noktası 3000 deyin.

resim açıklamasını buraya girin

dizüstü bilgisayardaki localhost: 8080'e (veya_whatever_ip: portno) erişmek için cihazdan localhost: 3000 kullanın. Mobil tarayıcıdan kontrol edebilirsiniz. Mobil tarayıcıda localhost: 3000'i deneyin. "Bağlantı noktası yönlendirme ayarları" penceresindeki "Bağlantı noktası yönlendirmeyi etkinleştir" onay kutusunu işaretlediğinizden emin olun.


Seni seviyorum dostum! Bu adımlarla bir öğretici yazmanız gerekiyor!
Rafael Gomes Francisco

7

CMD'yi yönetici olarak çalıştır

ve CMD ekranına ipconfig yazın ve ekran metinle görünecektir

bu fotoğraf olarak resim açıklamasını buraya girin

ve bu ipi kullanarak localhost'a erişebilirsiniz.


sadece güvenlik duvarını kapatın
SalindaKrish

6

Web sunucunuzun ağ arabiriminizi değil, geri döngü arabiriminizi dinlemesini sağlayabilirsiniz. Bunun başlıca belirtileri:

  • 127.0.0.1Ve localhost(localhost veya Android emülatöründen) isabetler işe yarıyor
  • 192.168.xxx.xxxYerel isabet , LAN veya WAN'dan gelen isabetler çalışmıyor

Bu teşhis ve bir cevap bu düzeltme konusunda daha fazla konuşmak buraya .


6

Bu dosyaya gitmeyi deneyin: 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'yi IP adresinizle değiştirin.


o "Reddet" ise üzgün değişiklik tüm formu izin vermek
bangptit

XAMPP kullanıyorum ve bu video bana çalışmasını sağlamak için cevap verdi: youtube.com/watch?v=YrA_yN3gySs
Leon

5

nihayet Ubuntu'da bitti, localhost üzerinde nodejs sunucusu çalıştırıyorum: 8080

1) açık terminal tipi ifconfig ip gibi bir şey alırsınız: inet addr: 192.168.43.17

2) şimdi URL adresini şu şekilde yazınız: "192.168.43.17:8080" (localhost bağlantı noktası numarasından gelen 8080 bağlantı noktası) ör: "192.168.43.17:8080/fetch"


bu sadece aynı ağa bağlıyken benim için çalışıyor. İnternet olmadan çalışan bir şeye ihtiyacım var
Geek Guy

5

Sisteminizin ip adresini almak için ubuntu / Macbook'unuzda bunu kullanın. Cep telefonunuz ve sisteminiz aynı ağda olmalıdır

ip addr | grep inetBu size benzeyen bir ip adresi verecektir 192.168.168.46. Bunu akıllı telefonunuzda kullanın.

Bu yardımcı olur umarım.


4

Bu işlemi kullandım:

  • Fiddler'ı yükle PC'ye
  • Bu mükemmel talimatları izleyerek PC ve Android cihazı kurun
  • Android cihazdaki tarayıcıya gidin ve localhost'a erişmek için http: //ipv4.fiddler yazın.

Bu işlemin, her oturumun başında ve sonunda Android cihazındaki WiFi ayarlarını değiştirmenizi gerektirdiğini unutmayın. Android cihazımı köklendirdikten sonra daha az acı verici buldum.


4

Localhost'u varsayılan olarak ayarlamanın daha kolay yolu http: // localhost: portunu kullanmaktır . Bu bir dizüstü bilgisayarda ve Android'de de çalışır.

Çalışmazsa, android'de telefonunuzun varsayılan IP'sini 127.0.0.1:port olarak ayarlayın :)

Terminali açın ve yazın: -

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

3

Birkaç farklı localhost sunucusu kullanarak bu soruna çalışıyordu. Sonunda benim app sadece Python basit sunucuyu kullanarak saniyeler içinde telefonda çalışıyor ve çalışıyor. Sadece birkaç saniye sürer, bu yüzden daha karmaşık çözümlere girmeden önce denemeye değer. İlk olarak, Python'un kurulu olduğundan emin olun. cmd+rve pythonWindows için veya $ python --versionmac terminalinde yazın.

Sonraki:

cd <your project root>

$ python -m SimpleHTTPServer 8000

Sonra sadece ağdaki ana makinenizin adresini bulun, bulmak için System Preferences/Sharingmac üzerinde kullandım . Android cihazınıza hafifçe vurun ve cihazınızıindex.html ve iyi olmalısınız.

Değilse sorun başka bir şeydir ve önerilen diğer çözümlerden bazılarına bakmak isteyebilirsiniz. İyi şanslar!

* DÜZENLE *

Chrome kullanıp kullanmadığınızı denemenin bir başka hızlı çözümü de Chrome için Web Sunucusu uzantısıdır. Telefonumdaki localhost'a erişmenin hızlı ve süper kolay bir yolunu buldum. Sadece Accessible to local networkaltında kontrol ettiğinizden emin olun Optionsve herhangi bir sorun olmadan hücrenizde çalışması gerekir.

resim açıklamasını buraya girin


Python'dan başka sunucu tarafı dilleri için çalışır mı?
MASh

3

ngrok , localhost'unuzu geçici bir sunucuya koymanıza izin verir ve kurulumu çok basittir. Burada bağlantıda bulunabilecek bazı adımlar sağladım:

  1. Yukarıdaki bağlantıdan ngrok zip dosyasını indirin
  2. Zip dosyasını açın
  3. Sunucunuzu yerel olarak çalıştırın ve bağlantı noktası numarasını not edin
  4. Terminalde ngrok'un yaşadığı klasöre gidin ve yazın ngrok http [port number]

Terminalinizde yerel adresinizi gösteren bir adres içeren küçük bir gösterge tablosu göreceksiniz. Uygulamanızı bu adrese yönlendirin ve cihazınıza oluşturun.


Bu sadece sunucuya harici olarak erişmek için kullanışlıdır. Sadece sunucunun yerel IP adresini kullanabilirsiniz.
OneCricketeer

3

Her şeyden önce telefonunuzu ve bilgisayarınızı ortak wifi'ye bağlayın.

Ardından, yönetici olarak çalıştır'ı kullanarak komut istemini açın

İpconfig komutu verin

Kablosuz lan ip gösterir

Telefona erişmek için sunucunuzun ip: portunu kullanın


2

Her şeyden önce makinenizi (sunucunun çalıştığı yerde) IP adresini statik hale getirin. Bu statik IP adresini android koduna girin. Ardından wifi yönlendiricinizin arayüzüne gidin ve sol paneli kontrol edin. Bağlantı noktası yönlendirme / yönlendirme gibi bir seçenek göreceksiniz. Tıklayın ve 80 numaralı bağlantı noktasını iletin. Şimdi htttpd.confdosyanızı düzenleyin ve

Herkesten İzin Ver

. Sunucunuzu yeniden başlatın. Şimdi her şey iyi olmalı.

Ayrıca, makinenizin IP adresini her zaman size tahsis edilecek şekilde ayırabilirsiniz. Yönlendiricinizin arayüzünün sol panelinde şunu bulun:DHCP -> Address Reservation , tıklayın. Makinenizin MAC adresini ve koda girdiğiniz IP adresini girin. Kaydet'i tıklayın. Bu, makineniz için verilen IP adresini ayıracaktır.


2

Mobil cihazımı dizüstü bilgisayarımı temel alarak wamp sunucuma bağlamak için bir çözüm:

İlk olarak, wifi bir yönlendirici değildir. Mobil cihazımı dizüstü bilgisayarımdaki localhost tabanlı wamp sunucuma bağlamak için bir yönlendiriciye ihtiyacım var. Ücretsiz bir sanal yönlendirici indirip yükledim: https://virtualrouter.codeplex.com/

Bunu yapılandırmak gerçekten basit:

  1. Sistem Tepsisindeki sanal yönlendirici simgesine sağ tıklayın
  2. Sanal yönlendiriciyi yapılandır'ı tıklayın.
  3. bir şifre doldur
  4. İnternet bağlantınız ethernet'deyse, Paylaşılan bağlantı: Ethernet'i seçin
  5. Ardından dizüstü bilgisayarınızda ve cihazınızda wifi'yi açın
  6. Cihazınızda sanal yönlendirici ağ adına bağlanın

Ardından, bir tarayıcı başlatarak dizüstü bilgisayarınızın cihazına bağlanabilir ve dizüstü bilgisayarınızın IPV4 adresini doldurabilirsiniz (pencerelerde bulmak için cmd: ipconfig yazın ve ipv4 adresini bulun)

Wamp sunucusu ana sayfanızı görmelisiniz.


2

Bir cevap kabul edilmiş olmasına rağmen bu benim için çalıştı:

  1. Hem bilgisayarınızın hem de android cihazınızın aynı ağda olduğundan emin olun.
  2. bilgisayarınızın ip adresini alın. ( ifconfigterminalin içinde mac tipi varsa ve en0/en1 -> inetbunun gibi bir şey olup olmadığına bakın 19*.16*.1.4.) (pencerelerde `ipconfig kullanın)
  3. Mobil ayarlarınızı açın ve ağa gidin 19*.16*.1.4. ve kaydedin.

  4. what is my ipgoogle chrome'da arama yapın ve ip'inizi alın, diyelim ki1**.1**.15*.2**

  5. 1**.1**.15*.2**:port/mobil cihazınızdan erişmeyi deneyin .

Bu kadar basit.


WiFi üzerinden proxy'ye ve yerel ağ içinde harici ip adresine ihtiyacınız yoktur
OneCricketeer

2

Bu benim için çalıştı, kullanmak istediğim cihazın tam yerel ağ ip adresini (genel ip adresini değil) belirtmek için 127.0.0.1 ip'ten sonra başka bir satır ekledim. Benim durumumda Samsung Galaxy S3'üm

Bangptit tarafından önerildiği gibi httpd.conf dosyasını düzenleyin (x sürüm numaralarıdır): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

Onlineoffline etiketini arayın ve telefonunuzun ipini ekleyin (Telefonlarımın IP adresini yönlendiriciler yapılandırma sayfalarında buldum):

onlineoffline etiketi - kaldırmayın

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

telefonlarım ip aşağıdaki satır

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

Bu, örneğin 192.168.1.0/24 vb. İçin de bir alt alanın tamamını içerecek şekilde genişletilebilir.


2

En kolay yol (bu benim için kusursuz çalıştı) sitenizi yerel olarak barındırmak 0.0.0.0:<port_no>ve mobil cihazları kullanarak siteye erişmek <local_ipv4_address>:<port_no>/<path>, tarayıcıda kullanmaktır .

  • Yerel ipv4 adresinizi bilmek için ipconfigcmd yazın
  • AYNI ağa bağlı HERHANGİ BİR cihaz bu URL'ye erişebilir.

2

Ngrok en iyi çözümdür. PHP geliştiriyorsanız Laravel Valet'i yüklemenizi tavsiye ederim , MacOS ve Linux sürümleri var, o zaman valet sharekomutu kullanabilirsiniz . Herhangi bir ön uç teknolojisi geliştiriyorsanız ve 3000 gibi bir bağlantı noktasını paylaşmanız gerekiyorsa doğrudan ngrok kullanınngrok http 3000


1

Gelecekteki geliştiriciler için bir çözüm eklemek.

IP adresinizin adresini kopyalayın. ağınıza sağ tıklayın -> ağ ve paylaşım-> şu anda sahip olduğunuz bağlantıya tıklayın-> ayrıntılar-> sonra ipv4 adresinin yanındaki adres ip adresinizdir, bunu bir yere not edin

Kontrol paneline gidin -> sistem ve güvenlik -> windows güvenlik duvarı -> gelişmiş ayarlar -> gelen kurallar -> yeni kurallar (örneğin 80 numaralı bir bağlantı noktası eklemek için adımları izleyin, takip edilmesi gerçekten basit)

Telefon tarayıcınıza not ettiğiniz ip adresinizi ve kuralı oluşturduğunuz bağlantı noktası numarasını girin. örneğin 192.168.0.2:80 ve wala.

Bağlanmazsa olası çözüm. ağa tıklayın -> ağı açın ve paylaşın-> aktif bağlantılarınızı görüntüleyin, bağlantı türünde bağlantınızın adı altında görünün ve herkese açıksa tıklayın ve bir ev ağına değiştirdiğinizden emin olun.


1

Kontrol edilecek başka bir şey, bazı yönlendiricilerin hem 2.4G hem de 5G etkinleştirildiğinde ve aygıtlar farklı frekanslarda olduğunda istekleri köprüleme konusunda sorun yaşıyor olmasıdır. Her iki cihazın da aynı arayüze bağlanması için frekanslardan birini devre dışı bırakmayı deneyin.



0

Şahsen cihazı kullanırken localhost kullanmakta ısrar etmiyorum, kolay bir çözüm yok.

Öykünücüyü kullanabileceğiniz localhost'a bağlandığınız etkinliği başlatmanız yeterlidir. Cihazdan almanız gereken bilgiler kolaylıkla oluşturulabilir ve parametre olarak etkinliğe gönderilebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.