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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值