【问题标题】:internet availability notification .net vs native (c++)互联网可用性通知 .net 与本机 (c++)
【发布时间】:2013-06-14 20:27:56
【问题描述】:

我的 .net 应用程序(客户端-服务器)需要在服务器(ping 一个 url)重新联机时立即知道,我看到它的唯一方法是每 10/50/100 毫秒执行一次 ping。

客户端应用程序运行在具有中等到低性能 PC 的 Kiosk 上,为了优化这一点,我正在考虑编写一个单独的本机应用程序来负责 ping 服务器心跳地址。

我的问题是在 C++ 中实现它会比创建简单的 .net 应用程序产生任何性能差异吗?

【问题讨论】:

  • 不,发送一个小请求来ping服务器是一个非常轻量级的操作。
  • 网络延迟与 CPU 速度。哪个更快?
  • 好的,但现在想象一下 10 毫秒的重试间隔。
  • @Zapacila 你真的想每 10 毫秒检查一次互联网连接吗?

标签: c++ .net performance connection ping


【解决方案1】:

不,这不会有任何区别,因为最“昂贵”的部分正在等待响应。您可以使用以下代码非常简单地检查它:

try
{
    System.Net.IPHostEntry objIPHE = System.Net.Dns.GetHostEntry("www.google.com");
}
catch
{
   MessageBox.Show("No internet");
}

【讨论】:

  • 我对 .net 编程知之甚少,但如果 ip 以某种方式缓存(本地或本地网络中的 dns),那岂不是也能“工作”?跨度>
  • @PlasmaHH GetHostEntry 方法无论如何都会发出请求
  • DNS 查找无关紧要,我想看的基本上是哪个更快,c++ socket api vs .net socket,如果性能有很大差异
  • @Zapacila:我猜写一些测试代码会比在这里问问题要快...
  • @Zapacila 查询 dns 比 ping 更便宜,因为 ping 在大多数情况下都会进行 dns 查询
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-02
  • 2017-11-22
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
相关资源
最近更新 更多