Javascript UDP接收器在延迟后触发函数?

Javascript UDP接收器在延迟后触发函数?,javascript,json,node.js,sockets,udp,Javascript,Json,Node.js,Sockets,Udp,我正在编写一些简单的本地机器搜索程序。我要做的是发送UDP广播消息,然后等待机器返回消息 发送方: setInterval(function sendUDP() { var dgram = require('dgram'); var client = dgram.createSocket("udp4"); client.bind(function() { client.setBroadcast(false) }); var message = new Buffer('getinfo');

我正在编写一些简单的本地机器搜索程序。我要做的是发送UDP广播消息,然后等待机器返回消息

发送方:

setInterval(function sendUDP() { 

var dgram = require('dgram');
var client = dgram.createSocket("udp4");

client.bind(function() { client.setBroadcast(false) });

var message = new Buffer('getinfo');

client.send(message, 0, message.length, 9080, "192.168.43.255", function(err, bytes) {
     client.close();
 });

console.log("sended");

return sendUDP; }(), 10000);
发送方发送一个UDP数据包作为广播消息,接收这些消息的机器通过另一个端口回复。我正在服务器端监听这些传入消息,如:

var functions = require('./functiones.js');

var PORT = 9081;
var HOST = '0.0.0.0';


var dgram = require('dgram');
var server = dgram.createSocket('udp4');

var IPAddresses=new Array();

server.on('listening', function () {
   var address = server.address();      
    console.log('UDP Server listening on ' + address.address + ":" + 
address.port);
});

server.on('message', function (message, remote) {
   IPAddresses.push(remote.address);
   console.log(String(message));
  console.log(functions.parseToName(message));
});
server.bind(PORT, HOST); 
//updateJSON(IPAddresses);
因此,有了以上代码,我可以接收所有消息

我想做的是在获取所有消息后创建一个json文件。假设我在网络上有20台机器,我需要通过向其中传递
ipAddress
数组来触发另一个函数。但是机器只是发送消息,我可能会从20条消息中提取15条,计数并不重要,如果网络上没有5台机器,那么我会说它们的状态为关闭。要创建和更新json文件,我需要在接收者从机器获取消息后触发另一个函数,但我无法处理必须以何种方式触发该函数。没有消息会说“是的,我的操作完成了,您可以触发该函数来更新JSON文件”。 如果我有一个计数器,总是在超时时触发它,我可能会与发送方的超时发生冲突

任何建议和帮助都会很好

诚恳