Discoverer.DiscoverAsync возвращает "0.0.0.0" как e.Agent.Address

Я пытаюсь использовать метод DiscoverAsync, но у меня возникли некоторые проблемы. Это мой код:

    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:RICOH Aficio MP C300SR 2.09 / RICOH Network Printer C model / RICOH Network Scanner C model
0.0.0.0:0:RICOH Aficio MP 301 1.06 / RICOH Network Printer C model / RICOH Network Scanner C model / RICOH Network Facsimile C model
0.0.0.0:0:RICOH Aficio MP 2851 1.01 / RICOH Network Printer C model / RICOH Network Scanner C model

Как вы можете видеть, он возвращает "0.0.0.0:0" в качестве конечной точки агента, но я думаю, что мой код правильный, поскольку он обнаруживает идентификатор трех подключенных принтеров. Я протестировал несколько версий библиотеки, в том числе 10.0.0-бета1. Для моего приложения мне нужны IP-адреса. Я хотел бы поблагодарить вас за любую помощь в этом.

С уважением!

PD: Я использую "192.168.1.255", потому что он генерирует исключение сокета с "IPAddress.Broadcast" или "255.255.255.255".

1 ответ

Это было определено как ошибка и исправлено в выпуске 9.2.1,

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

Другие вопросы по тегам