Как получить широковещательное сообщение в Java - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в области компьютерных сетей, поэтому, пожалуйста, потерпите меня.Ниже приведен код, который я использую для передачи пакета данных через Интернет с сервера, но я не знаю, как получать передаваемое сообщение на стороне клиента.Кто-нибудь может мне помочь с этим?

import java.net.*;
import java.io.*;

public class broadcast_message {
    private static DatagramSocket socket = null;

    public static void main(String[] args) throws IOException {
        broadcast("Hello", InetAddress.getByName("255.255.255.255"));
        System.out.println("Sent");
    }

    public static void broadcast(String broadcastMessage, InetAddress address) throws IOException {
        socket = new DatagramSocket();
        socket.setBroadcast(true);

        byte[] buffer = broadcastMessage.getBytes();

        DatagramPacket packet 
          = new DatagramPacket(buffer, buffer.length, address, 4000);
        socket.send(packet);
        socket.close();
    }
}

1 Ответ

0 голосов
/ 26 февраля 2019

Ваш код отправляет сообщение в порт, но никто не может его получить.

Вам необходимо создать прослушиватель сокета для того же порта (4000), прежде чем отправлять сообщение, чтобы вашслушатель сокета получает сообщение.

См. этот пост, например: отправка и получение пакетов UDP с использованием Java?

...