如何使用java广播到关机系统?

时间:2010-04-27 04:29:15

标签: java sockets

我们在java中使用socket.send(packet)函数向给定端口发送“数据包”。 我的问题是我必须使用UDP协议将数据包发送到关机系统。 send()函数的问题在于它首先验证主机IP是否是 多播与否。现在我的局域网是广播类型。所以我有 问题是使用这个功能。 有谁能请给我一个方法?

1 个答案:

答案 0 :(得分:0)

你知道如何在java中发送udp数据包吗?

首先,必须在您的网络中启用广播。

然后,所有服务器必须加入已商定的多播地址。

InetAddress address = InetAddress.getByName( "230.0.0.1" );
MulticastSocket socket = new MulticastSocket( 12345 );
socket.joinGroup( address );

如果要激活系统关闭,请向多播地址发送约定的消息(例如,“die”)。

DatagramPacket packet = new DatagramPacket( buf, buf.length );
socket.receive( packet );
String received = new String( packet.getData(), 0, packet.getLength() );

接受该消息的服务器应该启动关闭流程。