我的windows移动应用程序(用C#编写,带有紧凑的框架)需要知道特定的机器是否处于活动状态。
为了达到这个目的,我想用一个ping机制。我尝试使用opennetcf框架中实现的Ping类( .NET框架的.NET类不是紧凑框架的一部分)。
因为我给Ping.Send函数一个主机名,所以它首先尝试解析这个主机名并检索一个IP地址。
但是,我注意到以下问题:如果第一个dns解析失败(因为此时网络已经关闭),如果应用程序再次立即尝试发送ping,那么它也会失败,即使网络不再被记录下来。我检查了一个著名的网络协议分析器,我看到,只有有关第一个dns解析的请求被发送。没有发送与第二ping的dns解析有关的请求。
为什么没有发送第二个dns请求?这种Windows设备上是否有dns缓存机制?如果是,这种机制可以编程刷新吗?
编辑: --我放弃了找到这个DNS刷新的解决方案。我选择了一个IP入口,而不是一个名字机器。敲击硬编码的入口IP的问题是,我们必须100%地确定这个IP不会改变。可以使用网关IP,因为它始终是可访问的(如果不能,就意味着网络瘫痪)。
发布于 2010-06-08 02:37:11
这是一个很好的问题,并进行了一些挖掘。
我知道这个答案可能迟了,但试试看。
http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesnative/thread/7eda3979-6424-4702-89f4-1f586b613b01
https://stackoverflow.com/questions/2560815
复制相似问题