手机与电脑同处于一个局域网内时,常见于WiFi热点互联,比如360免费wifi软件,快牙软件,都是利用局域网传输效率快于广域网的原理进行文件的传递。当手机连接电脑的热点时,可以利用一些方法获得电脑主机和本机的IP地址
/**
* 获取手机所连wifi路由的IP,若手机与电脑共联在同一个局域网内,这个IP就是电脑主机的IP
*/
private String getHostIPAdress()
{
return intToIp(wifiManager.getDhcpInfo().serverAddress);
}
而获取本机的IP则有多种方法(获取主机的IP目前我只知道上述一种方法)。例如:通过DhcpInfo的ip
Adress参数
/**
* 获取当前的wifi状态下,手机的ip地址
*/
private String getIPAdress1()
{
return intToIp(wifiManager.getDhcpInfo().ipAddress);
}或者利用ConnectionInfo的getIpAdress()方法:
/**
* 获取当前的wifi状态下,手机的ip地址的第二种方法
*/
private String getIPAdress2()
{
return intToIp(wifiManager.getConnectionInfo().getIpAddress());
}
开发WIFI需要wifi权限:
之后就可以进行局域网内数据的传输了,我决定采用socket。之后的内容下周再更新。