Как передать и получить пакет переданные через широковещательный IP адрес? У меня есть приложение (пока еще не написанное), предназначенное для передачи файлов через локальную сеть (похоже на AirDrop по функционалу). Для того чтобы программа понимала по каким IP можно передавать файлы, было принято решение отправлять запрос по широковещательному IP адресу сети/подсети чтобы на него ответили все "совестимые" ПК, ибо пинговать все занятые IP в сети уныло и долго (скажите мене если это безумная и небезопасная идея). Теперь главный вопрос: как передать и получить пакет переданные через широковещательный IP адрес? я использую node js и протокол tcp/ip. заранее спасибо за помощь.

26 Авг 2021 в 19:59
199 +1
1
Ответы
1

Для передачи и получения пакетов через широковещательный IP адрес вам нужно использовать UDP протокол, так как TCP не поддерживает широковещательную передачу.

Для отправки широковещательного пакета в Node.js вы можете использовать модуль dgram. Пример отправки широковещательного пакета:

const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
const broadcastAddress = '255.255.255.255';
const port = 12345;
const message = Buffer.from('Hello, world!');
socket.bind(() => {
socket.setBroadcast(true);
socket.send(message, 0, message.length, port, broadcastAddress, (err) => {
if (err) {
console.error(err);
}
socket.close();
});
});

Для прослушивания широковещательных пакетов:

const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
const port = 12345;
socket.bind(port);
socket.on('message', (msg, rinfo) => {
console.log(`Received message from ${rinfo.address}:${rinfo.port} - ${msg}`);
});

Пожалуйста, обратите внимание, что широковещательная передача может быть не безопасной идеей, так как это может привести к уязвимостям в вашей сети. Будьте осторожны и убедитесь, что данные передаются в защищенном формате.

17 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир