将UDP数据发送到LAN Android上的所有人

时间:2015-06-19 16:39:15

标签: java android network-programming udp

我能够将UDP数据发送到特定的IP地址,但我需要将其发送给正在侦听端口55555的人。这里是我正在使用的代码。我不想发送到特定的IP。

com.mysql.jdbc.GoogleDriver

1 个答案:

答案 0 :(得分:1)

广播将数据发送到LAN上的所有设备。多播只会向订阅它的人发送数据。根据您提供的有限信息,听起来多播会起作用。如果您进行广播,您实际上将向您的局域网上的所有设备发送数据,如智能电视,所有笔记本电脑等。

这是一个使用java多播套接字的简单客户端服务器应用程序。http://examples.javacodegeeks.com/core-java/net/multicastsocket-net/java-net-multicastsocket-example/

通过多播,设备充当服务器并打开一种特殊的udp套接字用于多播。客户端订阅该服务器的多播套接字并且基本上参与数据传输。

以下是多播的几个提示

  • 确保服务器在您的java代码中使用多播地址。这是在224.0.0.0 - 239.255.255.255的范围内。保留一些地址。我发送的示例代码使用224.0.0.3。您无需在WIfi设置中更改IP。这是在java代码中完成的。它就像一个额外的地址,它会听。客户将订阅此地址。
  • 对于android,您必须在清单文件中为多播锁启用多播权限。请参阅http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html