Я пытаюсь написать приложение в node.js, чтобы отправить запрос udp на устройство (имеющее udp-сервер), а затем получить ответ и отобразить его. Устройство работает таким образом, что после получения запроса на своем порту 11220 он немедленно возвращает ответ.Node.js UDP-клиент для обработки ответа с сервера udp
Приведенный ниже код отправляет запрос udp устройству и ответы устройства сразу (я вижу это в wirehark), но я не могу обрабатывать/отображать восстановленное сообщение. Или, по крайней мере, я просто хочу иметь возможность отображать сообщение после получения ответа от устройства. Пожалуйста, дайте мне знать, чего не хватает в моем коде, или покажите мне полный код, чтобы сделать это. Очень ценится.
Как хорошо, я не предпочитаю использовать socket.io и т.д.
var PORT = 11220 ;
var HOST = '192.168.1.111';
var dgram = require('dgram');
var message = new Buffer(9);
var client = dgram.createSocket('udp4');
client.send(message, 0, message.length, PORT, HOST, function(err, bytes) {
if (err) throw err;
console.log('UDP message sent to ' + HOST +':'+ PORT);
client.close();
});
client.on('listening', function() {
var address = server.address();
console.log('UDP Server listening on ' + address.address + ":" + address.port);
});
client.on('message', function (message, remote) {
// CAN I HANDLE THE RECIVED REPLY HERE????
console.log(remote.address + ':' + remote.port +' - ' + message);
});
Так что ваш 'message' обработчик никогда не работать? Выполняется ли «прослушивание»? Что произойдет, если вы «отправили» только * после * добавления обработчиков событий. – loganfsmyth