Discoverer.DiscoverAsync返回“0.0.0.0”作为e.Agent.Address

时间:2017-02-21 18:29:40

标签: c# winforms uwp sharp-snmp

我正在尝试使用DiscoverAsync方法,但我遇到了一些麻烦。这是我的代码:

import numpy as np
import matplotlib.pyplot as plt

def get_jenks_breaks(...):...

x = np.random.random(30)
breaks = get_jenks_breaks(x, 5)

for line in breaks:
    plt.plot([line for _ in range(len(x))], 'k--')

plt.plot(x)
plt.grid(True)
plt.show()

这是输出:

    private void button1_Click(object sender, EventArgs e)
    {
        asyncMethod();
    }
    private async void asyncMethod()
    {
        Discoverer disc = new Discoverer();
        disc.AgentFound += DiscovererFound;            
        await disc.DiscoverAsync(VersionCode.V1, new IPEndPoint(new IPAddress(new byte[] { 192,168,1,255}), 161), new OctetString("public"), 6000);
    }
    private void DiscovererFound(object sender, AgentFoundEventArgs e)
    {            
        Console.WriteLine(e.Agent + ":" + e.Variable.Data);
    }

正如您所看到的,它返回“0.0.0.0:0”作为代理端点,但我认为我的代码是正确的,因为它发现了我连接的三台打印机的ID。我测试了多个版本的库,包括10.0.0-beta1。出于我的应用程序的目的,我需要IP地址。我会感谢你的帮助。

问候!

PD:我正在使用“192.168.1.255”,因为它使用“IPAddress.Broadcast”或“255.255.255.255”抛出了套接字异常。

1 个答案:

答案 0 :(得分:0)

这已被确定为a bug,已在9.2.1版本中修复,

https://github.com/lextm/sharpsnmplib/releases/tag/9.2.1