0

我在尝试扫描指定 Oid 的一系列 ips 时遇到了很多问题,就像 Solarwinds Snmp Sweeper 一样。Solarwinds snmp 工具缺乏的原因是它们在检查较大范围时太慢了。

我现在在大约 62 台主机上收到超时错误。我正在运行一个任务工厂来并行检查每个主机。我仍然收到超时错误。我注意到 SharpSnmpNet 也有同样的问题。

我相信能够处置听众可能会有所帮助,因为我认为即使它已收到回复,它也会保持打开状态。这不应该发生,但我相信这是因为我同时收到多个回复,即使他们有不同的目标主机。

我该如何处置听众。这是我唯一调用sharpsnmp的地方,这是我的任务正在执行的功能。

Lex Li 先生:如果您能回复,我将不胜感激:

public string ProcessData()
        {
            var receiver = new IPEndPoint(Ip, Config.Port);

            var vList = Config.SnmpOids.Select(item => new Variable(new ObjectIdentifier(item))).ToList();

            IList<Variable> vars = Messenger.Get(VersionCode.V2, receiver, new OctetString(Config.Community), vList,
                                                 Config.TimeOut);
            foreach (Variable variable in vars)
            {
                // Lets create a string based on our returned variable binding value.
                var outBuilder = new StringBuilder();

                if (!(variable.ToString().Contains("NoSuchObject")))
                {
                    outBuilder.Append(variable.Data + " ][ ");
                }

                string outPut = outBuilder.ToString();

                if (!(String.IsNullOrEmpty(outPut)))
                {
                    return outPut;
                    //Invoke our callback
                    //outputTree.BeginInvoke(new StringDelegate(UpdateScan), outPut, ip.ToString());
                    //txtFound.BeginInvoke(new StringDelegate(UpdateScan), 1);
                }
            }

            return null;
        }
4

0 回答 0