Android如何在局域网中发送网络广播

本文介绍了在Android中如何实现在局域网内发送网络广播,通过发送UDP广播来实现设备间的通信。示例代码包括Android端的发送和接收广播的方法。需要注意的是,部分路由器可能禁止广播,此时可以考虑使用IP扫描作为替代方案。
摘要由CSDN通过智能技术生成

Android如何在局域网中发送网络广播

目前做的项目是当两个设备都接入一个Wifi热点后可以找到对方。如何找呢?大家一下子就会想到发送广播,对的就是发送广播。下面是一个实例如何发送一个UDP广播的例子。首先端口是事先约定好的,

Android端代码:

    static void sendBroadCastToCenter(){
        WifiManager wifiMgr = (WifiManager) App.getContext().getSystemService(Context.WIFI_SERVICE);

        WifiInfo wifiInfo = wifiMgr.getConnectionInfo();

        /*这里获取了IP地址,获取到的IP地址还是int类型的。*/
        int ip = wifiInfo.getIpAddress();

		/*这里就是将int类型的IP地址通过工具转化成String类型的,便于阅读
        String ips = Formatter.formatIpAddress(ip);
		*/
		
		/*这一步就是将本机的IP地址转换成xxx.xxx.xxx.255*/
        int broadCastIP = ip | 0xFF000000;
      
        DatagramSocket theSocket = null;
        try {
                InetAddress server = InetAddress.getByName(Formatter.formatIpAddress(broadCastIP));
                theSocket = new DatagramSocket();
                String data = "
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值