невозможно отправить пакеты UDP внутри EventEmitter в пределах NodeJS - PullRequest
1 голос
/ 01 февраля 2020

Я новичок в EventEmitter, и мне не удалось найти что-либо в Интернете по моему вопросу (скорее всего, потому что я далеко от цели). У меня есть EventEmitter, работающий в настоящее время. Я просто записываю события через консоль. Однако, если я пытаюсь отправить данные через UDP на удаленный сервер внутри эмиттера, это выглядит так, как будто этот код полностью игнорируется, нет сообщений об ошибках, нет ничего, код никогда не попадает в часть client.send функции. , Заранее спасибо.

var PORT = 1337;
var HOST = 'xxxx';
var dgram = require('dgram');
var client = dgram.createSocket('udp4');
const EventEmitter = require('events').EventEmitter;
const dump1090 = require('./node_modules/node-dump1090/build/Release/dump1090.node');
const NativeEmitter = dump1090.NativeEmitter;
const inherits = require('util').inherits;
inherits(NativeEmitter, EventEmitter);

const emitter = new NativeEmitter();

emitter.on('data', (evt) => {
    var mes = Buffer.from(JSON.stringify(evt), 'utf8');
    console.log(mes);
    client.send(mes, 0, mes.length, PORT, HOST, function(err, bytes) {
        console.log('UDP message sent to ' + HOST + ':' + PORT);
        if (err) throw err;
        client.close();
    });
})

emitter.callAndEmit();
...