Javascript 使用net-snmp.js一次向多个设备发送和检索get请求

Javascript 使用net-snmp.js一次向多个设备发送和检索get请求,javascript,node.js,npm,net-snmp,Javascript,Node.js,Npm,Net Snmp,Im有一个大约50个IP地址(IP.array\u agg)的列表,可以在一个循环中轮询。问题是模块的异步性质意味着返回的结果以任意顺序随机返回,所以我需要以某种方式跟踪会话。如何将传出的snmp get会话请求与回调中返回的结果链接起来,以便将varbinds(结果)与关联的IP地址关联起来?是否有会话id或我可以用来标记会话的东西?也许可以通过dgram?一个代码示例会很好 var snmp = require ("net-snmp"); var community = 't

Im有一个大约50个IP地址(IP.array\u agg)的列表,可以在一个循环中轮询。问题是模块的异步性质意味着返回的结果以任意顺序随机返回,所以我需要以某种方式跟踪会话。如何将传出的snmp get会话请求与回调中返回的结果链接起来,以便将varbinds(结果)与关联的IP地址关联起来?是否有会话id或我可以用来标记会话的东西?也许可以通过dgram?一个代码示例会很好

    var snmp = require ("net-snmp");
    var community = 'terminal';

    var oids = ["1.3.6.1.4.1.2509.8.22.2.1.1.5.4","1.3.6.1.4.1.2509.8.22.2.1.1.5.1"];
    for( var i = 0; i < ips.array_agg.length; i++){
            var ip = ips.array_agg[i];
            var session = snmp.createSession ( ip, community);
            console.log(session);

            session.get (oids, function (error, varbinds) {
                if (error) {
                    console.error ('session get error:', ip,  error);
                } else {
                    for (var i = 0; i < varbinds.length; i++)
                    if (snmp.isVarbindError (varbinds[i]))
                            console.error (snmp.varbindError (varbinds[i]))
                    else
                            console.log ( ip, varbinds[i].oid + " = " + varbinds[i].value/100);
                }
            });
    }
var-snmp=require(“网络snmp”);
var社区='终端';
变量OID=[“1.3.6.1.4.1.2509.8.22.2.1.1.5.4”,“1.3.6.1.4.1.2509.8.22.2.1.5.1”];
对于(变量i=0;i