WIFI项目--Android 获取本机IP(wifi下),子网掩码,网关,dns等信息

2024-06-09 14:58

本文主要是介绍WIFI项目--Android 获取本机IP(wifi下),子网掩码,网关,dns等信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期在捣鼓一个小项目,利用wifi热点在两手机上传输文件。进度有点慢,下面是遇到的一些小问题:
1获取手机所连接的wifi路由器ip:

ublic class MainActivity extends Activity {  private WifiManager my_wifiManager;  private WifiInfo wifiInfo;  private DhcpInfo dhcpInfo;  private TextView tvResult;  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  my_wifiManager = ((WifiManager) getSystemService("wifi"));  dhcpInfo = my_wifiManager.getDhcpInfo();  wifiInfo = my_wifiManager.getConnectionInfo();  tvResult = (TextView) findViewById(R.id.tvResult);  }  @Override  protected void onResume() {  super.onResume();  StringBuilder sb = new StringBuilder();  sb.append("网络信息:");  sb.append("\nipAddress:" + intToIp(dhcpInfo.ipAddress));  sb.append("\nnetmask:" + intToIp(dhcpInfo.netmask));  sb.append("\ngateway:" + intToIp(dhcpInfo.gateway));  sb.append("\nserverAddress:" + intToIp(dhcpInfo.serverAddress));  sb.append("\ndns1:" + intToIp(dhcpInfo.dns1));  sb.append("\ndns2:" + intToIp(dhcpInfo.dns2));  sb.append("\n");  System.out.println(intToIp(dhcpInfo.ipAddress));  System.out.println(intToIp(dhcpInfo.netmask));  System.out.println(intToIp(dhcpInfo.gateway));  System.out.println(intToIp(dhcpInfo.serverAddress));  System.out.println(intToIp(dhcpInfo.dns1));  System.out.println(intToIp(dhcpInfo.dns2));  System.out.println(dhcpInfo.leaseDuration);  sb.append("Wifi信息:");  sb.append("\nIpAddress:" + intToIp(wifiInfo.getIpAddress()));  sb.append("\nMacAddress:" + wifiInfo.getMacAddress());  tvResult.setText(sb.toString());  }  private String intToIp(int paramInt) {  return (paramInt & 0xFF) + "." + (0xFF & paramInt >> 8) + "." + (0xFF & paramInt >> 16) + "."  + (0xFF & paramInt >> 24);  }  
}

项目思路:
思路一:手机A在创建热点后,开启tcp服务等待请求,手机B连上手机A的wifi热点后,B向A发送上线请求(单播)。

思路二:1.开启热点一方使用开启udp监听请求,并且发送上线请求(广播);接下来连上该热点的手机同样采用这个方式,1监听–2广播;这样的好处是大家都知道对方的存在,是真正意义的群聊。2.发送文件阶段,发送方A先向接收方B方发送文件的数量以及名称等参数,发送方A并建立TCP服务等待请求,接收方发送N个数量的请求,发送方A相应创建N个线程发送文件。

今天先写这么多。。。看看资料先

项目github连接:https://github.com/AriesJiang/WIFIAPComm

这篇关于WIFI项目--Android 获取本机IP(wifi下),子网掩码,网关,dns等信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1045505

相关文章

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事