我在iOS上使用Xamarin + MonoTouch瀏覽網絡上的Web服務器,然後我可以從中下載文件。在MonoTouch中使用Bonjour NSNetService的NSData的IPAddress?
傳遞到解析事件處理程序的NSNetService包含地址作爲NSData。我找不到一個很好的方法來將該NSData轉換爲一個實際的IP地址,然後我可以建立一個URL,即http:// < IPAddress> /folder/file.htm
這是我的NSNetService.AddressResolved事件處理程序:
private void OnServiceResolved(object sender, EventArgs args)
{
NSNetService service = (NSNetService)sender;
// service.Port is valid.
// service.HostName is valid.
// but we want the IP addres, which is in service.Addresses.
// None of the following four methods works quite right.
IPAddress address = (IPAddress)service.Addresses [0]; // Cannot convert type NSData to IPAddress
SocketAddress address2 = (SocketAddress)service.Addresses[0]; // Cannot convert NSData to SocketAddress. A binary copy might work?
IPHostEntry entry = (IPHostEntry)service.Addresses [0]; // Cannot convert NSData to IPHostEntry
IPHostEntry entry2 = Dns.GetHostByName (service.HostName); // This kinda works, but is dumb. Didn't we just resolve?
}
在解析事件中從NSNetService獲取服務的IP地址的正確方法是什麼?
謝謝。在Xamarin中輕鬆轉換會很棒。 :) –