0
我試圖使用DiscoverAsync方法,但我有一些麻煩。這是我的代碼:Discoverer.DiscoverAsync返回「0.0.0.0」作爲e.Agent.Address
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
正如你所看到的,It's返回「0.0.0.0:0」作爲代理的端點,但我認爲我的代碼是正確的,因爲它發現了我連接的三臺打印機的ID。我測試過該庫的多個版本,包括10.0.0-beta1。爲了我的應用程序的目的,我需要IP地址。我會感謝你的幫助。
問候!
PD:我使用的是「192.168.1.255」,因爲它引發了一個帶有「IPAddress.Broadcast」或「255.255.255.255」的套接字異常。
你測試9.0.7? 10.x現在已經過時了。 –
是的。我已經嘗試過9.0.7。由於某些原因,它不能在UWP中編譯,但是我也獲得了該版本的「0.0.0.0」。 –