0
UPNPのために送信されるブロードキャストメッセージをリッスンするNodeJSコードがあります。 1つのコードスニペットはポート1900でリッスンし、もう1つのコードはポート1900でUDPのdgramを使用します。どちらのコードでもメッセージは返されません。ネットワーク上でトラフィックがブロードキャストされていることを実証しました。私は両方のコードを同時に実行しないので、ポートの問題を回避できます。 netstat -aを使用すると、コードが実行されているときに使用中のポートが表示されます。UPNPをリッスンするトラフィックがありません
なぜこれらのUPNPメッセージを受信しないのですか?
DGRAM方法のいくつかで遊ん//DServer for UDP
/*dserver = dgram.createSocket('udp4');
dserver.bind('1900',() => {
console.log('Listening on address:' + dserver.address());
});
dserver.on('error', (err) => {
console.log('UDP Server ERROR:' + err);
dserver.close();
});
dserver.on('close',() => {
console.log('UDP Server closed');
});
dserver.on('listening',() => {
console.log('UDP Server listening');
});
dserver.on('message', (msg, rinfo) => {
console.log(msg + '\n' + rinfo);
});*/
//TCP Server (for testing)
let dserver = net.createServer((socket) => {
socket.on('data', (data) => {
console.log("DATA:" + data.toString());
}).on('error', (err) => {
console.trace('DServer socket.on: error');
console.error(err.stack);
});
}).on('listening',() => {
console.log('DServer Listening');
}).on('connection',() => {
console.log('DServer got a connection');
}).on('close',() => {
//stays open if client closes conx
console.log('DServer Closed');
}).on('error', (err) => {
console.trace('DServer.on: error');
console.error(err.stack);
});
dserver.listen({ port: 1900 },() => {
console.log('DServer Started Listening');
});