Android无法访问本地服务器(localhost)的解决方案

Proteus 8.9仿真五路抢答器:从74LS148编码到NE555报警的保姆级电路拆解 本文详细解析了使用Proteus 8.9仿真五路抢答器的完整设计流程,从74LS148优先编码器到NE555定时报警电路。通过保姆级的电路拆解和芯片选型指南,帮助读者掌握数字电路中的编码、锁存、译码和定时等核心技术,实现稳定可靠的抢答系统仿真。 阅读详情


在Android开发中通过localhost或127.0.0.1访问本地服务器时,会报java.net.ConnectException: localhost/127.0.0.1:8083 -Connection refused异常。

为什么会报这个异常呢?因为Android模拟器本身把自己当做了localhost或127.0.0.1,而此时我们又通过localhost或127.0.0.1访问本地服务器,所以会抛出异常了。

在网上查了下,在模拟器上可以用10.0.2.2代替127.0.0.1和localhost;

另外如果是在局域网环境可以用192.168.0.x或者192.168.1.x(根据具体配置)连接本机。在局域网环境为了保守起见,我们可以通过Android代码来获取本机的IP,接下来就通过代码演示怎么获取Android能访问本地服务器的IP

                        

第一步,在清单文件中加入以下权限  

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

              

第二步,获取Android本机IP地址和MAC

复制代码
package cn.itcast.test; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; import java.util.List; import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.test.AndroidTestCase; import android.util.Log; import cn.itcast.domain.Video; import cn.itcast.news.MainActivity; import cn.itcast.service.VideoService; public class VideoServiceTest extends AndroidTestCase { private static final String TAG = "VideoServiceTest"; public void testLocalIpAndMac(){ Log.i(TAG, "IP: "+getLocalIpAddress()+", MAC: "+getLocalMacAddress()); } /** * 获取Android本机IP地址 * * @return */ private String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf .getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { Log.e("WifiPreference IpAddress", ex.toString()); } return null; } /** * 获取Android本机MAC * * @return */ private String getLocalMacAddress() { WifiManager wifi = (WifiManager) this.getContext().getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress(); } }
复制代码

              

运行结果



其中10.0.2.15就是我们要得到的IP

SAP SLT 在 carve-out 场景中的关键作用:从理论到实操全景展现 深入剖析 SAP Landscape Transformation(SLT Replication Server)在 carve‑out 场景中的价值,需要从 carve‑out 本身的背景逻辑说起。carve‑out 指的是企业因并购、拆分、剥离商业单元等因素,而将 SAP 系统中某部分业务(例如组织单元、公司代码、模块数据等) separated 出来,导入到独立的系统中。这一过程极具挑战性,既要确保业务连续性,又要实现数据精准迁移和系统隔离 ( 阅读详情

相关推荐

CELF(Cost-Effective Lazy Forward selection)具有成本效益的惰性前向选择算法

CELF(Cost-Effective Lazy Forward selection)算法解析      引言:在社交网络影响力最大化问题的求解过程中,我们往往需要去选择一些目标种子结点作为信息初始传播的源头。贪婪算法在传播效果上的解决可以达到影响的最大化,但是在时间复杂度上面显得确十分糟糕。为此CELF算法应势而生,CELF算法利用了函数次模性的特点,在第一轮选择种子结点时,计算网络中所有节点的边际收益,但将在之后的过程中,不再做网络节点边际收益的重复计算,这相对于传统的贪婪算法,将在时间上得到非常明显的

hahaxq的博客 2478

十七、Android无法访问本地服务器(localhost)的解决方案

在Android开发中通过localhost或127.0.0.1访问本地服务器时,会报java.net.ConnectException: localhost/127.0.0.1:8083 -Connection refused异常。 为什么会报这个异常呢?因为Android模拟器本身把自己当做了localhost或127.0.0.1,而此时我们又通过localhost或127.0.0.1访问本...

weixin_34220834的博客 810

【UE5 C++开发指南】从零配置Visual Studio 2022开发环境

本文详细指导如何从零开始为UE5 C++开发配置Visual Studio 2022环境。文章强调了VS2022与UE5的深度兼容性,并逐步讲解了社区版下载、核心工作负载(如“使用C++的游戏开发”)与组件安装、界面优化、专属工具设置以及首个C++项目的创建与验证流程,帮助开发者高效搭建专业开发环境。

weixin_29016865的博客 395

Android无法访问本地服务器(localhost/127.0.0.1)的解决方案

Android无法访问本地服务器(localhost/127.0.0.1)的解决方案

weixinhmz的博客 3047

高通Camera HAL3调试实战:如何用camxoverridesettings.txt高效抓取日志与dump图像数据

本文深入探讨了高通Camera HAL3调试中camxoverridesettings.txt文件的高效应用,重点介绍了如何通过该文件精准控制日志输出级别与dump图像数据,帮助开发者快速定位移动影像系统中的问题。文章详细解析了日志分级配置、图像数据捕获技巧及典型问题排查流程,为高通Camera HAL3项目开发提供了实用技术点。

weixin_30315905的博客 863

从标记基因到功能分析:手把手教你人工注释单细胞亚群的完整流程

本文详细介绍了人工注释单细胞亚群的完整流程,从标记基因筛选到功能分析验证,特别针对肿瘤微环境、发育轨迹等复杂场景提供解决方案。通过差异表达分析、多维数据整合和实验验证,帮助研究者准确识别细胞类型,提升单细胞转录组研究的生物学解读深度。

jenkins8butler的博客 245

android用什么表示本机地址

在android中是不能够使用localhost来表示本机地址的,其实localhost在pc上是映射到了127.0.0.1,android上是有不同的localhost表示法的: 10.0.2.2 也就是说10.0.2.2代表的了本机,也就是android操作系统,所以在编写android应用时要注意了。 附:怎么查看android的ip等相关信息:使用adb shell,其实ad

hongchangfirst 3245

CISP-PTE考前实操练习题

CISP-PTE考前学习练习题目,渗透测试功工程师

2301_79546223的博客 2003

Android开发中访问本机服务器(localhost)的解决方法

今天早上看mars老师的第一季视频,跟着做播放器的小项目,由于我在宿舍用的是自动获取IP的方法, 配置了tomcat需要用localhost访问本机服务器,但是总是不能下载服务器上面的xml资源, 后来找找资料才发现Android模拟器把localhost作为了他自己, 所以localhost(127.0.0.1)就不是访问了本机服务器了 解决方法: 10.0.2.2 来代替就行了。。当...

wangminshe89 702

conda环境的复制、备份操作

请确保将 source_env 替换为你要复制的现有环境的名称,并将 target_env 替换为你要创建的新环境的名称。要备份一个Conda虚拟环境,你需要将环境的配置信息和依赖包列表保存起来,以便在需要的时候能够重新创建相同的环境。要将现有的 conda 环境复制为其他环境,可以使用 conda create 命令并克隆已存在的环境。

Dollhan的博客 3774

NX二次开发新建组件

NXOpen新建组件

qq_39541524的博客 330
上一篇: 三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQL2005版本)
下一篇: Spring MVC 教程,快速入门,深入分析
codepython
博客等级 码龄20年 125粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值