【问题标题】:Detect wifi connectivity in c#在c#中检测wifi连接
【发布时间】:2010-07-18 01:23:48
【问题描述】:

我正在开发一个应该检测 wifi 连接和强度的 asp.net(或 winforms)应用程序。目的是为现场代理提供一个指示器,表明他们可以连接到我们的总部

我需要什么来检测 wifi 连接?

【问题讨论】:

  • 您要检测服务器上的 wifi 连接和适配器的强度?
  • 这可以是一个winforms。它不是一成不变的网络应用程序。目的是为现场代理提供一个指示器,表明他们可以连接到我们的总部

标签: c# asp.net winforms wifi


【解决方案1】:

你不能在 ASP.NET 中做到这一点。 ASP.NET 是一种呈现客户端可浏览代码的服务器端技术。

为此,您必须开发嵌入页面的内容(ActiveX、Java、Flash、Silverlight),即使这样,您也必须获得用户的适当安全权限才能访问 API需要访问 wifi 天线。

【讨论】:

  • 所以你是说这需要是一个winforms应用程序? (这很好)。我只是不知道如何开发可以检测 wifi 信号的东西
【解决方案2】:

查看 wlanapi.dll 中的 WlanEnumInterfaces。您将不得不从 C# 中调用它。 Codeplex 上有一个托管包装器 (http://managedwifi.codeplex.com),但我不能保证它,因为我从未亲自使用过它。

如果您不介意编写 ActiveX 对象并且您的客户不介意从您的网站运行它,您仍然可以使用 ASP.Net。

【讨论】:

    【解决方案3】:

    您实际上可以非常简单地使用 WinForms ASP.NET。在您的服务器上,您使用一个返回 true 的方法创建一个 Web 服务。对于您的客户,您编写一个 winforms 应用程序(放置在托盘中的东西是理想的),它每 5 或 10 秒(或您想要的任何间隔)轮询 Web 服务,timeout 少几秒。如果 Web 服务调用返回而没有引发超时异常,那么您就知道您已连接。如果超时,您就知道您没有连接(例如,您可以显示一个小灯,在连接时显示绿色,在未连接时显示红色)。

    请注意,您实际上不会以任何方式测量 WIFI 可用性(或其信号强度),但这可能不是您的现场代理真正关心的事情。他们可能只是想知道他们是否可以连接。

    【讨论】:

    • @MusiGenesis:为什么要在服务器上使用 ASP.NET?为什么不是 WCF?
    • @John Saunders:因为提问者提到了 ASP.NET 和 WinForms。我个人在 WCF 上使用 ASP.NET,因为我通常同时支持 PC 和 Windows Mobile 客户端,而 WinMo 上的 WCF 真的很痛苦。
    • 服务中带有basicHttpBinding 的WCF 不适用于Windows Mobile?我不这么认为。
    • @John:我并不是说 WCF 不能很好地与 Windows Mobile 配合使用——我说实现它很痛苦,确实如此,尤其是与使用它的容易程度相比时来自 Windows Mobile 的 ASMX Web 服务。
    • @Music:在 WCF 中编写服务;使用basicHttpBinding;使用“添加 Web 参考”使用它;完成。
    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    相关资源
    最近更新 更多