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".