«

Android与Windows在局域网下进行wifi通信

时间:2024-3-2 17:42     作者:韩俊     分类: Android


手机与电脑同处于一个局域网内时,常见于WiFi热点互联,比如360免费wifi软件,快牙软件,都是利用局域网传输效率快于广域网的原理进行文件的传递。当手机连接电脑的热点时,可以利用一些方法获得电脑主机和本机的IP地址

 /**
     * 获取手机所连wifi路由的IP,若手机与电脑共联在同一个局域网内,这个IP就是电脑主机的IP
     */
    private String getHostIPAdress()
    {
        return intToIp(wifiManager.getDhcpInfo().serverAddress);
    }

而获取本机的IP则有多种方法(获取主机的IP目前我只知道上述一种方法)。例如:通过DhcpInfo的ipAdress参数

/**
     * 获取当前的wifi状态下,手机的ip地址
     */
    private String getIPAdress1()
    {
        return intToIp(wifiManager.getDhcpInfo().ipAddress);
    }
或者利用ConnectionInfo的getIpAdress()方法:

/**
     * 获取当前的wifi状态下,手机的ip地址的第二种方法
     */
    private String getIPAdress2()
    {
        return intToIp(wifiManager.getConnectionInfo().getIpAddress());
    }

开发WIFI需要wifi权限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

之后就可以进行局域网内数据的传输了,我决定采用socket。之后的内容下周再更新。

标签: android

热门推荐