我已经搭建了一个Node应用程序,该应用程序从IP地址上的端口接收数据包,并向网页提供内容。这个IP地址有流量通过两个端口,9999和10000。我的应用程序有以下代码:
var PORT_ONE = 9999;
var PORT_TWO = 10000;
var SENSOR = '239.0.0.1';
var client = require('dgram').createSocket('udp4');
var dns = require('dns');
/* Client starts listening on IP */
client.on('listening', function () {
console.log('UDP Client listening on ' + SENSOR + ":" + PORT_TWO);
client.setMulticastTTL(1);
client.addMembership(SENSOR);
});
/* Client receives a message */
client.on('message', function (message, remote) {
var tempMessage = message.toString(); //cast Buffer var to String
var delimiter = "\n";
var tempData = tempMessage.split(delimiter);
console.log('From: ' + remote.address + ':' + remote.port +' - \n' + message);
var data = {
ip: [SENSOR],
info: [tempData]
};
sendMessage(data);
});
client.bind(PORT_ONE);
client.bind(PORT_TWO); //error here
当我在终端中运行我的节点应用程序时,我收到以下错误信息:
dgram.js:163
throw new Error('Socket is already bound');
dgram.js是Nodejs库的一部分。当绑定到PORT_TWO时出现错误。是否有一种方法可以将套接字绑定到多个端口?