Я прошу помощи, так как кажется, что я не могу найти способ отправить широковещательную рассылку UDP внутри локальной сети, используя Dart.
Пока мне удалось связаться по протоколу UDP с RawDatagramSocket
. Я могу отправить сообщение на определенный адрес.
Что я не могу сделать, так это отправить широковещательную рассылку любому устройству в локальной сети (маска сети 255.255.255.0) и ждать возможных (множественных) ответов. Вот код, который я использую:
RawDatagramSocket.bind('127.0.0.1', 8889)
.then((RawDatagramSocket udpSocket) {
udpSocket.listen((e) {
Datagram dg = udpSocket.receive();
if (dg != null) {
//stuff
}
});
udpSocket.send(utf8.encode('TEST'), DESTINATION_ADDRESS, 8889);
});
Я пытался заменить DESTINATION_ADDRESS
на InternetAddress.anyIPv4
, но мне не повезло. Я также нашел свойство broadcastEnabled
внутри RawDatagramSocket
, но не могу найти дополнительную информацию о том, как его использовать.
Заранее спасибо за помощь.