Как транслировать на систему выключения с помощью Java? - PullRequest
0 голосов
/ 27 апреля 2010

Мы используем функцию socket.send (packet) в java для отправки «пакета» на данный порт. Моя проблема заключается в том, что я должен отправить пакет в систему выключения по протоколу UDP. Проблема с функцией send () заключается в том, что сначала она проверяет, является ли IP-адрес хоста многоадресная или нет. Сейчас моя локальная сеть вещательного типа. Так что у меня Проблема заключается в использовании этой функции. Может кто-нибудь, пожалуйста, дайте мне способ?

1 Ответ

0 голосов
/ 27 апреля 2010

Знаете ли вы, как отправлять пакеты udp в Java?

Прежде всего, в вашей сети должна быть включена трансляция.

Затем все ваши серверы должны присоединиться к согласованному многоадресному адресу.

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() );

Серверы, принимающие это сообщение, должны инициировать поток отключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...