我想知道如何在 monotouch 中获取默认 DNS 服务器?
此代码在模拟器中完美运行,但在设备上给出 0 条记录。
NetworkInterface.GetAllNetworkInterfaces();
foreach (IPAddress ipAddr in ipProps.DnsAddresses)
Console.WriteLine(ipAddr);
从另一方面来说,这段代码可以在模拟器和设备上运行:
IPHostEntry he = Dns.GetHostEntry(domain);
dns = he.HostName.ToString();
有了这一切,我假设 DNS 服务器地址存储在某处。我的意思是它是可以访问的。如何获取其IP?
最佳答案
这将在 MonoTouch 中获取 IP 地址:-
public string GetIPAddress()
{
string address = "Not Connected";
try
{
#if SIM
address = IPAddress.FileStyleUriParser("127.0.0.1");
#else
string str = Dns.GetHostName() + ".local";
IPHostEntry hostEntry = Dns.GetHostEntry(str);
address = (
from addr in hostEntry.AddressList
where addr.AddressFamily == AddressFamily.InterNetwork
select addr.ToString()
).FirstOrDefault();
#endif
}
catch (Exception ex)
{
// Add error handling....
}
return address;
}
注意使用模拟器和设备之间的区别。
关于ios - Monotouch 中的默认 DNS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9281335/