我正在编写一个NodeJS应用程序,我想同时向多个服务器发送UDP请求。这是我的示例代码。
const dgram = require('dgram');
const urlParser = require('url').parse;
const socket = dgram.createSocket('udp4');
const url = urlParser("my url goes here");
var _msg = "My message";
socket.send(_msg, 0, _msg.length, url.port, url.host, () => {});
socket.on('message', msg => {
console.log('Message is: ' + msg);
})
我可以一次将请求发送到一台服务器。但是我不知道如何一次将同一请求集发送到多个服务器。我尝试过这样的事情
var servers = ["server1", "server2", "server3", ...];
for (var i = 0; i < servers.length; i++){
var url = urlParser(servers[i]);
socket.send(_msg, 0, _msg.length, url.port, url.host, () => {});
socket.on('message', msg => {
console.log('Message is: ' + msg);
})
}
这将获得MaxListenersExceededWarning。我认为这不是正确的方法。我绝对是JavaScript和Node.JS的初学者。请帮助我解决这个问题