簡體   English   中英

java.net.ConnectException:localhost / 127.0.0.1:8080 - 連接被拒絕

[英]java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused

我正在使用xampp apache服務器從我的機器為應用程序提供資源。 但我得到了上述錯誤。

我在谷歌上得到了一些東西。 指向可能的解決方案http://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a

上述問題的解決方案是什么?

由於您未指定從設備或模擬器連接到服務器,因此我猜您正在模擬器中使用您的應用程序。

如果您從Android模擬器中引用系統上的本地主機,則必須使用http://10.0.2.2:8080/因為Android模擬器在虛擬機中運行,因此127.0.0.1localhost將是模擬器自己的環回地址。

參考: 仿真器網絡

在android中

替換: String webServiceUrl = "http://localhost:8080/Service1.asmx"

With: String webServiceUrl = "http://10.0.2.2:8080/Service1.asmx"

祝好運!

localhost和127.0.0.1都是說“當前機器”的方式。 因此,PC上的localhost是PC,而android上的localhost就是手機。 由於您的手機當然沒有運行網絡服務器,它將拒絕連接。

您需要獲取計算機的IP地址(在Windows上使用ipconfig查找)並使用它而不是127.0.0.1。 這可能仍然無法正常工作,具體取決於您的網絡/防火牆的設置方式。 但這是一個完全不同的話題。

您只需使用本地(但真實)的IP地址和端口號,如下所示:

String webServiceUrl = "http://192.168.XX:your_virtual_server_port/your_service.php"

並確保您確實在清單中設置了Internet權限

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

  1. 在Androidmanifest.xml文件中添加Internet權限

uses-permission android:name =“android.permission.INTERNET

  1. 在Windows中打開cmd
  2. 輸入“ipconfig”,然后按Enter鍵
  3. 找到IPv4地址。 :192.168.XX
  4. 使用此網址“ http://192.168.XX:your_virtual_server_port / your_service.php

如果您在網址中使用localhost並在模擬器中測試您的應用程序,只需在URL中替換系統的localhost的IP地址即可。您可以使用10.0.2.2而不是localhost。

http://localhost/webservice.phphttp://10.218.28.19/webservice.php

10.218.28.19 - >系統的IP地址。

要么

http://localhost/webservice.phphttp://10.0.2.2/webservice.php

您只需使用本地IP地址:使用cmd命令“ipconfig”和您的服務器端口號如下:

String webServiceUrl =“ http://192.168.XX:your_local_server_port / your_web_service_name.php

並確保您在項目清單中設置了Internet權限

它對我來說非常合適

祝好運

用10.0.2.2替換localhost是正確的,但是你可以用你的物理機器的ip代替localhost(它更適合於調試目的)。 Ofc,如果ip由dhcp提供,你每次都要改變它...

祝好運!

它為我工作。 我使用genymotion運行應用程序。

1.首先,我檢查了我的本地IP。 轉到命令模式>>並寫入ipconfig。 示例:Windows 10 >>搜索cmd >>然后寫入ipconfig。 2.然后獲取您的本地IP信息>>> 3.使用您的localhost ip和虛擬盒ip。 你需要使用虛擬盒ip進行genymotion.Check下面的截圖。 您可以在虛擬機主機網絡下的任何IP下面 在此輸入圖像描述

解決方案非常簡單。

1在Androidmanifest.xml文件中添加Internet權限

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

[2]更改httpd.config文件

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

TO

Order Deny,Allow
Allow from all
Allow from 127.0.0.1

And restart your server.

[3]最無能為力的一步。 將您的網絡作為家庭網絡

轉到“控制面板”>“網絡和Internet”>“網絡和共享中心”

Click on your Network and select HOME NETWORK

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM