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项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@