浅谈Android中的组播(多播)

Posted 努力做一个伪程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈Android中的组播(多播)相关的知识,希望对你有一定的参考价值。

       组播使用UDP对一定范围内的地址发送相同的一组Packet,即一次可以向多个接受者发出信息,其与单播的主要区别是地址的形式。IP协议分配了一定范围的地址空间给多播(多播只能使用这个范围内的IP),IPv4中组播地址范围为224.0.0.0到239.255.255.255。

       注意的问题:

       1. 在发送组播或则在接收组播的时候,一定要开启一个线程,要不然会出问题。例如在发送组播时候,不要再UI线程中去发,要开启一个子线程去发送。

     2. 接收的组播要先加入,然后再能接受到组播发出的的消息。遵循: 先加入,再发送或则接收。

     3. 在加入组播时候,一定要是相同的端口和IP地址,要不然接收不了数据。

       我在这里实现两个apk,一个发送组播,另一个接收组播,下面给出两个apk的代码:

      1.  发送的apk代码:

   下面是xml的代码:

 

  2.  下面是接收的apk代码:

下面是xml布局:

 

  3.   接收的apk一定要先打开,然后再打开发送的apk,点击发送,接收端才能接收到数据。遵循先加入,再接收。

 

以上是关于浅谈Android中的组播(多播)的主要内容,如果未能解决你的问题,请参考以下文章

IPV6 组播学习理解

组播单播多播

网络中有三种通讯模式:单播广播组播(多播)

android wifi 组播

Python 实现udp组播

linux学习之多高并发服务器篇