我想知道如何在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/