# MulticastSocket_Server_Client **Repository Path**: zhoutanxin/MulticastSocket_Server_Client ## Basic Information - **Project Name**: MulticastSocket_Server_Client - **Description**: 发现设备-组播 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-04-23 - **Last Updated**: 2023-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android下实现局域网设备发现与通信 通过组播的形式实现广播和发现 优点:组播的范围要远小于广播,指向性更强 缺点:经过实测,部分手机,pad出现收不到组播情况,一台华为M2在一个网络情况下收不到广播,用其他的设备收的到广播;M2换个网络环境却又可以收到广播 原因: M2确实没有CONFIG_IP_MULTICAST配置 通过命令adb pull proc/config.gz D:/ 导出内核配置项查看 1、设备只有在配置CONFIG_IP_MULTICAST = y情况下可以收到组播 2、路由器分两种,一种是标准协议的路由器,另一种是非标准协议的路由器 3、标准路由器在设备没有配置CONFIG_IP_MULTICAST时,不会给设备发组播;非标准路由器不按照标准来,全部都会发送。 所以,在WH的M2一直测不出问题,因为路由器没按照协议来;而HF的M2在标准路由器情况下是连不上的。 修改配置内核也无法解决根本问题,还有些其他设备如果没有配置,遇到标准协议的路由还是会有问题。 比较好的方案是我在群里发的 ,还是采用广播的方式