0

Solarwinds Snmp Sweeper のように、指定された Oid の範囲の IP をスキャンしようとすると、多くの問題が発生します。Solarwinds snmp ツールが欠落している理由は、より大きな範囲をチェックするときに遅すぎるためです。

現在、約 62 のホストでタイムアウト エラーが発生しています。各ホストを互いに並行してチェックするタスク ファクトリを実行しています。まだタイムアウト エラーが発生します。SharpSnmpNet にも同じ問題があることに気付きました。

リスナーは返信を受け取っても開いたままになっていると思うので、リスナーを処分できると役立つと思います。これは起こるべきではありませんが、ターゲット ホストが異なるにもかかわらず、同時に複数の応答を受信して​​いるためだと思います。

どうすればリスナーを処分できますか。これは、私のタスクが実行している関数であるsharpsnmpを呼び出す唯一の場所です。

レックス・リー氏: 返信いただければ、信じられないほどありがたいです。

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